Two weeks ago today, Collabora Online has moved to its new home on GitHub, and started settling in the new infrastructure, expanding its fantastic community, and continuing the work to deliver the latest and greatest developments in productivity and collaboration together. Check our new community website for all the details! 😉
Collabora developers also keep fixing and improving our lovely mother project LibreOffice. As all the good work requires some appreciation, let’s take a look at what the seasoned developers of the Collabora team, and the volunteer contributors from our community have been doing during the last week.
Week in Numbers
On the Collabora Online code repository in the last week, 41 authors have pushed 97 commits to master and 165 commits to all branches. On master, 1,276 files have changed and there have been 11,658 additions and 12,101 deletions.
- Commits on LibreOffice master by the Collabora team: 32
- Total number of commits on Collabora Online master: 97
Congratulations to Rizal Muttaqin, Alan Verdugo, corleone77, Batuhan Görkem Benzer, Dilaver Demirel, Pelin Kuran, Andreas Kainz, Buğra Kurt, Yusuf Keten, Mücahid Aydin for their first pull requests, and elpraga and Julius Härtl for reporting their first issues and improvement requests on our GitHub repository!
- Thanks to Rizal Muttaqin for syncing our Colibre icon sets, making them match the newest Colibre color scheme, and also updating Impress sidebar icons, thus making the general look of Collabora Online more appealing and coherent in colors.
- Thanks to Alan Verdugo, corleone77, Batuhan Görkem Benzer and Mücahid Aydin for improving our Python scripts by fixing Pylint errors, thus increasing readability, and making them more developer-friendly.
- Thanks to Andreas Kainz for catching the discrepancy between the widths of Style and Font dropdown lists, and fixing it quickly. He also has multiple other pull requests and issues created, currently in-review, aiming for different fixes and improvements such as syncing COOL icon path with LibreOffice icon path, which will make it way easier to sync icon work between COOL and LibO in the future. Another pull request he is working on together with Pedro Pinto Silva is on revamping the menubar content and arrangement to be in alignment with LibreOffice.
- Thanks to Yusuf Keten for porting unique pointers in wsd to Util::make_unique(), thus preventing possible memory leaks.
Thank you all, and welcome aboard! 🙂
Join the fun!
You can also join the fun, and be part of our next list of new contributors! 🙂
Just go to our GitHub repo, fork it, build it, grab one of our newcomer-friendly easy hacks, and send your first pull request. And if you get stuck at any point, just drop by one of our communication channels.
New, easy way to build and test
To start developing, you need to first build CODE, and we have build instructions for you on our community website. However, they were a bit generic to be compatible with different platforms & Linux distros. Now we have started adding straightforward, easy-to-follow instructions specific to different distros, and the first one is Ubuntu 20.04 LTS. If you are on a different distro, and would like to contribute a new set of instructions for it, please feel free to get in touch!
Thanks to our new daily archives of LibreOffice core builds, now you can just download the necessary pieces and directly start building CODE itself, instead of also build LibreOffice core from scratch.
And as always, please don’t hesitate to report any issues, or better, send pull requests to fix them. 😉
Now easy to get developing on any platform!
On top of our daily LibreOffice core archives, we have also added integration support for Gitpod, a cloud based development environment. Now you can start hacking Collabora Online in under ~5 minutes! You might want to keep an eye on our Twitter account in case a quick video tutorial comes up in the following days. 😉
Steps to quick start:
- Sign-up on Gitpod.io with your GitHub account
- Install the proper extension for your browser
- Go to COOL repo
- Click on the green Gitpod button
- Wait for a few minutes, and you will have a full development environment with COOL already cloned & built, ready-to-start/develop
- Don’t forget to also fork the main repo
- And set the remote address in .git/config to point to your fork’s address with this command:
git remote set-url origin https://github.com/PUT-YOUR-GITHUB-USERNAME-HERE/online.git
Happy hacking! 🙂
Collabora Online (COOL)
- Starting to develop Collabora Online is now easier and quicker than ever, thanks to initial support for Gitpod -cloud-based development environment- being merged by Muhammet Kara.
- Thanks to Miklos Vajna for introducing Util::make_unique() method which helps to prevent potential memory leaks in case of an exception thrown between the allocation of memory for a raw pointer and the construction of an std::unique_ptr, and also for hardening COOL by fixing a potential issue.
- Thanks to Szymon Kłos for fixing interference of sidebar tooltips between views, causing a mix-up of languages, and for fixing a crash which occurs while using a mobile phone when leaving chart edit mode with chart type modified. He also fixed a bug that caused pasting images with Ctrl + V not working properly on Calc and Impress documents.
- Thanks to Mert Tümer for fixing a bug that caused read-only documents not automatically switching to edit mode after a copy of it being saved to users’ local storage, thus also improving the user experince while working with copies of documents. He also made sure an exception on localStorage, which caused errors during document load and also the welcome dialog being shown repetitively, is now handled properly, thus improving the user experience for users of private browsing or incognito mode, along with other changes towards better user experience and under-the-hood improvements.
- Thanks to Gökay Şatır for improving the Hide Sheet and the Copy Hyperlink functions. Now you can hide any sheet with right click even when the sheet is not currently active; and hyperlinks are copied & opened as expected.
- Thanks to Pedro Silva for continuing his work on making COOL shinier and appealing, with various improvements like making sure generated buttons look natural, and the correct icons are used in the toolbars.
- Thanks to Pranam Lashkari for fixing an issue causing the cursor appearing different than expected on multi-user scenarious while editing an Impress document, and also fixing an error in parsing timestamp for X-LOOL-WOPI-Timestamp, thus improving consistency of logs & messages.
- Thanks to Henry Castro for working on various fixes and improvements like fixing an issue which causes Writer not having a ruler on start sometimes, and improving cypress parallel run script.
- Thanks to Jan Holesovsky, it is now possible to edit chart subtitles also from within the mobile wizard.
Collabora Office on Android & iOS
- Thanks to Mert Tümer for introducing the dark theme support for Android, fixing the libnssckbi not found error on Android, thus making it possible to open password-protected documents. He also made the Save as option offered while switching edit mode on Android. Check out his blog post for the details.
- Test coverage for our mobile code has been extended, thanks to Tamás Zolnai, which will help us maintain a certain level of quality and stability, preventing unexpected issues being added to the code-base during development. Our mobile code-base is also a bit lighter, and easier to maintain, thanks to some dead code removal by him.
- Thanks to Tor Lillqvist for various fixes and improvements on the iOS platform, including making the key combinations like Cmd-C and CMD-X work properly and improving keyboard functionality in tunnelled (directly coming from LibreOffice) dialogs by making sure the keyboard stays usable when user taps on a field other than the one he/she was directed to. He also did some improvements in the debugging experience, thus making our code more developer-friendly.
- Thanks to Jan Holesovsky, mobile apps integrating Collabora Online in an iframe can now handle the hyperlinks in their own ways.
Collabora Online Integrations
- Thanks to Thomas Müller of ownCloud for making sure updated translations for Collabora Onlines’s ownCloud integration landed on its repo safely.
- Thanks to Julius Härtl of Nextcloud, for getting a lot of fixes and improvements merged on Collabora Online’s Nextcloud integration, including dependency upgrades, ux improvements, bug fixes, and extending the documentation.
- Activity Module, Collabora Online integration for Moodle, now has support for fullscreen without using ‘requestFullscreen’, thanks to Andreas Grabs.
- Thanks to both Andreas Kainz and Rizal Muttaqin for coming to aid of Pedro Silva, Collabora Online’s lead designer, to help Collabora Online look even better.
- Thanks to Adolfo Jayme-Barrientos and Rizal Muttaqin, for letting us know about translation platform alternatives better aligned with our open-source mission. We are now on Weblate!
- Thanks to Tamás Zolnai, we now have 3 more easyhacks to help our new code contributors get used to the project. Feel free to give them a try! 😉
- Thanks to Yunusemre Şentürk for fixing a build issue preventing us from producing new snapshots for Online 6.4 series. It got broken on switch to GitHub, but is now working again. He also worked on providing weekly snapshot builds of Collabora Office for Android on F-Droid, and set-up various bits on the infra side to complete our repo’s integration with Gitpod and provide daily archives of LibreOffice core build, which is needed to reduce CODE build time drastically for development purposes.
- Thanks to Thaís Vieira for working on various tasks and doing translations on our new project on weblate.
- Thanks to Tor Lillqvist for cook-ing up several fresh builds both from the 4.2 and 6.4 series for the iOS platform, and releasing 4.2.11 and 4.2.11-1 versions.
- Thanks to Marc Rodrigues for continuing to keep us updated on various news around Collabora Online and related FOSS projects, and creating a lot of yummy content to read!
- Thanks to Pedro Silva for working with our new design contributors, and helping them get used to the workflow. He also likes sharing his experience with the newcomers through our forum and improving our community website.
- For verifying several reports and test cases, thus ensuring the quality of the software, thanks to Nnamani Ezinne Martina! We also heard that she has started reading docs on Cypress, so we might also see some automated tests written by her in the future.
- Thanks to Andras Timar for keeping us organized, setting up our new translation project on Weblate, and delivering hot new releases of our software!
- Thanks to Marco Cecchetti for working on some new surprises -hint: more integrations ;)- for us.
- Thanks to Jan Holesovsky for doing a lot of research on different topics, and providing mentoring/patch-reviewing/hand-holding/wisdom within the team, in our communication channels, and also on various channels of our lovely mother project LibreOffice.
- Thanks to Eloy Crespo for his efforts to help the project well-funded as always.
- Thanks to Cor Nouws for leading the marketing team, and not stopping there but continuing with testing & reporting bugs, attending to community events, and keeping us all informed about what’s going on.
- Your friendly community mentor, Muhammet Kara, is also creating & improving easy hacks, running workshops, helping new contributors solving their setup & build issues and reviewing their pull requests, working on easing the build procedure, improving our GitHub presense bit by bit based on its community guidelines, compiling/composing these community updates…
Last but not least, we can’t thank enough to our translators who constantly help COOL and its friends talk many languages on this earth. Collabora Online speaks many languages, thanks to all of our translators in our translation project, and all of those who previously contributed and keeps contributing to our mother project, LibreOffice.
We’re continuing to work to find good ways to credit translators’ hard work in the product. Please see a list of those involved, and please get in touch if you’re not listed. Many thanks to all those who have worked on translating Online, you rock!
Listening to our translators
In the previous weeks, our translators reported that the platform we were using was once open source, but no longer, and there are open source alternatives that can be used in alignment with our open source mission/spirit. So we listened, and switched to weblate!
If you would like to help COOL speak your language, you can just go to our translation project on weblate, and start contributing! 😉
Collabora loves LibreOffice!
We’re still contributing to LibreOffice and encourage you too to do so because LibreOffice rocks. 😉
- Thanks to Tomaž Vajngerl for continuing his work on improving support for annotated PDF documents: creating a PDFAnnotationMarker class that holds various properties of markers, implementing OverlayPolyPolygon to serve as an overlay for the annotation, and extending the PDFium library by adding support for reading border properties from PDF annotation, along with some clean-ups to improve readability. Check out his blog post for the details.
- Thanks to Gülşah Köse for continuing her work on fixing the z-rotation positioning of certain text in imported PPTX files, and thanks to Miklos Vajna for unblocking her way when she needs.
- Thanks to Pranam Lashkari for improving stability of Impress by fixing a crash which was happening while duplicating a slide with hidden slidepan.
- It is now possible to edit title and subtitle of charts from the sidebar, thanks to Jan Holesovsky.
- Thanks to Miklos Vajna, for various fixes and improvements around pdfium, one of the libraries LibreOffice depends on for PDF handling, like removing some unused bits to make the code-base ligher, and adding more methods to make it integrated into our code-base in a better way.