Organization: XWiki
Project: packaging-snap
Tasks:
- Create a snap package of XWiki.
- Generation of a snap package for each version of XWiki should be integrated into the release process.
Student: Vedant Pol
Mentors: Thomas Mortagne & Clément Aubin
My proposal: Click here
This summer, I was selected for GSoC to work on project Snap-package for XWiki. XWiki is an open source software development platform based on the wiki principles, under the LGPL license. In addition to being a full-featured wiki, it is also a second generation wiki allowing effortless development of collaborative web applications. On top of this platform a plethora of applications are developed, targeted mainly on aiding enterprise-level needs.
- The already existing options for XWiki installation were tricky to update/upgrade and required much more manual intervention. While packages that were easy to upgrade, like the xwiki-debian package, were not available on all Linux distributions, To solve this problem, we could use the universal Snap package. By creating a snap package of XWiki, we could ensure that xwiki was available on all distributions and was easy to upgrade and update.
- reaching more people/users using the Snapcraft store and increasing the XWiki userbase.
- Integrate the generation of Snap with the release such that it is easy to maintain and provide updates.
The XWiki snap is published on the snapcrat store. The snap can be installed on all major Linux distributions and updated/upgraded without any manual intervention. Since XWiki Snap is based on the xwiki-jetty package, it is fairly easy to maintain.
The XWiki snap gets around 66 instals every week thus increasing the XWiki reach.
Here are some stats about my contributions to project XWiki-snap during GSoC:
- I made a total of 24 PRs during GSoC, out of which 23 got successfully merged and 1 got closed.
- In those 24 successfully merged PRs, I made a total of 85 commits during the program.
- So far, I've contributed
7,018++ 2,557--
lines of code to this project.
Here is the list of commits that I made during GSoC .You can see them here.
- XWiki-mysql-Snap's mysql breaking
- xwiki-base more generic and support other databases
- arguments in XWiki-jetty
- XWiki snap published on SnapStore
- XWiki snap github contrib repository
- XWiki snap user guide documentation
- XWiki snap developer guide documentaion
- XWiki GSoC 2022 progress page
- 1 GSoC(2022) Introduction-Vedant Pol
- 2 GSoC 2022 community bonding period Summary
- 3 Request for a new contrib repository -Snap package of XWiki
- 4 GSoC 2022 (XWiki Snap) Milestone
- 5 XWiki Releasing to the Snap Store
- 6 XWiki Snap Published on snap Store
- 7 XWiki updated Snap Published on snap Store
The last three months of my life were unforgettable. This time was very precious to me, and I hope that it was so too for my community. After GSoC, I would like to continue the same spirit of contribution that I maintained during GSoC. I would like to get involved more in the community and will be happy to guide new developers as well. I would also like to work on some new (if any) or existing projects for my organization. In the end, I will try my best to be more and more helpful to the community. 😇 If anyone wants any kind of help or wants to connect with me, then he/she is just two clicks away.
There's a lot that I learned from GSoC, I mean what can be better than working on a community product that is used by around 10k users. This is the list of my key takeaways from this program.
- Got experience of working on a community product.
- Learned lots of new things in Java, and also learned some new concepts in OOPS.
- Learned lots of new things about project management tools like Gradle and Maven and also learned about dependency management.
- Got experience developing Snap packages
- Also learned a lot about DEVOPS work flow.
- Learned about how to work in a team or with a broad community on single or multiple projects.
On a final note, I'd like to thank my mentors [Thomas Mortagne] (https://github.com/tmortagne) and [Clément Aubin] (https://github.com/aubincleme) for their unwavering support since the beginning of my contributions. I am very thankful for their patient behaviour whenever I got stuck and their suggestions that helped me resolve them. I would also like to thank Manuel Leduc and Michael Hamann for their valuable advice and input that aided me in completing this project. Also, I am thankful to the whole XWiki family, who provided me with this wonderful opportunity to work on such an amazing project.
In the end, I would like to thank Google for organising such a wonderful programme and also kudos to me for successfully completing this program. 😉