Looking forward into XWiki for GSOC '21 and beyond

Hello everyone! I am Shoury Sharma , Undergraduate from NIT’B. I am basically a android enthusiast and been working for ROMS, Apps and Kernel since a while now. I can efficiently code in Python, Kotlin, Go and going on with JAVA for a while now.
I was looking into the ideas of senior developers in XWiki for 2021 and found the idea in to think and implement right this year. The idea was to create snap package for XWiki and publish it for easier installation on Snap supported distros, Furthurmore i wanted to deploy a script which on every major release version, automatically builds up the snap and pushes it to SnapStore. This idea could even be extended for flatpak packages and even publishing it to AUR which i propose.

I’ve gone through guides of Snap and XWiki and found myself to be interested into it, And with mentorship of senior developers in XWiki org, would accomplish the project.
Moreover it’d would be a learning curve for me in field of JAVA to work under XWiki and understand how Open Source Codes are organised and maintained.

Its my pleasure to join XWiki as Student and Junior for this journey, And i will surely enchance my skills and contributions as i get into Source and start real work over it.
Thanks,Have a good day!

Thanks for your proposal @galanteria01 ! I’m not familiar at all with Snap/SnapStore (nor flatpak or AUR) but I like the idea of disseminating XWiki even more. So, even though this is not a project we’ve listed on http://gsoc.xwiki.org/ it could still be a good idea.

Since I’m really a newbie regarding these package managers, could you provide more information about how much they’re used and what impact it could have for xwiki?

Thanks a lot

Actually it’s https://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/CreateasnappackageforXWiki :slight_smile:

Snap is a package format introduced by Canonical for Ubuntu (so it’s by default on Ubuntu) but which now support many Linux Distributions. So the two main benefits for XWiki would be:

  • be in an official repository of applications for Linux (so no need to add some custom XWiki repository)
  • support many more Linux distributions than deb packages

ok thanks Thomas. The introduction message misled me into believing the student was proposing something new. There was not even a link to the proposal…

Sir, This was just suggestion regarding the project i could proceed and if idea was good enough to be a proposal. Snap and AUR makes code more close to user and the package managers can make software a little more user friendly.
I’ll look into the projects and propose soon.
Thanks for being generous and supporting newbie.

Sir, It would be really a knowledge gaining and definately a learning curve as i work under senior developers and I thought to refer to you regarding taking snap idea to few more distros like Arch/Gentoo and working on Snap, Flatpak and AUR Module one after the other and making it little user chosen way to install.
I’d be awaiting for your words and looking forward for your guidance.
Thanks Sir

Providing as many packages as possible is obviously always nice, and I’m sure creating many packages during the GSOC is not a very hard task but keep in mind that those packages are useless as one-shots, and the most important part is to have them be:

  • tightly integrated to the XWiki release process and as automated as possible (if it requires a lot of work at each release it won’t survive very long). For example from release point of view the Debian packages are just XWiki Maven modules like any other and the XWiki Debian repository index update is automated
  • easy to maintain

If you are confident you can do more than Snap in the GSOC timeframe sure, but we will need enough details from you in your final GSOC proposal for us to trust that you can do it. Remember that what we know well is XWiki, but we won’t be able to help you much with actually building those packages with more than theoretical answers since we don’t know them that well (even Snap which I just know a bit as user). In other words promising the world is not going to help you get selected. Of course the whole point of the GSOC is to welcome new members in the community so if you want to continue playing with providing more XWiki packages after the GSOC it would be great :wink:

1 Like

I am basically understanding things too, And GSOC is all about challenges and as a junior developer it would be a worthy move to take step ahead and face it, Whatever it takes. Plus with this GSOC '21 I would be looking forward to maintain future updates of Snap and In case other packages i make. I believe in OSS at any moment and with Xwiki i can be active contributer of one of the major OSS project out there. With help of you sir and other senior developers i could understand dependencies and making it successful attempt.
Thanks to you.

I had made a model to structure it automated which would be kind of chain of flow within VCS.
Version is bumped → Tested with CI → Goes to master → Snapcraft builds it → Released as strict mode → We promote it as Stable/LTS/Dev . This flow will make it manageable and easy to maintain, meanwhile with increase in dependencies It will require little work over .yaml to make workflow back to working stage again. It wouldn’t get built for every commit,Only commit which upgrades versions would get built as snap. Maintainence would be required only when either build fails on CI which has Bump to y.x version or more dependencies have been added. This wouldn’t be hassle to anyone and smooth workflow wouldn’t get interrupted.
Thanks to you.

@galanteria01 I wanted to give some comment on your draft proposal on the GSOC website but looks like you did not enable comments

An important comment I would have is that there is pretty much nothing about XWiki in there and what are the challenges in terms of dependencies (XWiki is definitely not some simple standalone application) to create an XWiki package.