Project Title : Make pagure adaptable for pkgs.fedoraproject.org
Contact Information |
* Pagure: vivekanand1101 * GitHub: vivekanand1101
|
About Me | ||
Why do you want to work with the Fedora Project?Fedora is my favorite operating system as i find it simple, easy to use and best suited for my web application development environment. Also, as i have been contributing to fedora projects, i have felt a lot of improvement in myself which encourages me to keep on contributing to this project. Do you have any past involvement with the Fedora Project or another open-source project as a contributor?Yes, I have contributed to Anitya project and Pagure and i am presently working on Pagure Importer
Have you participated in GSoC in the past? If so, what year(s) and which organization(s)?No, I am applying to GSoC for the first time.
Do you plan to continue contributing to the Fedora Project after GSoC? If yes, what sub-project(s) are you interested with?Yes. Simple reason behind it is that projects are cool and cooler are the people who are maintaining them. There is just too much knowledge and experience in the fedora-infra team for me to stop contributing. The projects under fedora-infra team that i am most interested in will be Pagure itself. I think it is cool and with the growth rate it is having, i see it will be a lot popular in coming years. I also find Fedora-Hubs a very cool project. I will like to contribute to it too, in future.
Why should we choose you over other applicants?
Have you contributed to any other open source organizations or projects? If so, do you have artifacts you can show so we can see your skill set(s)?No, My open source journey began with fedora. Although, i do open source the projects i work on whether alone or with my friends. In fedora, i have contributed to Anitya and Pagure and currently working on Pagure Importer.
No, i don’t have any other experience. Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?In mid May, our summer vacation of college will start and ends by late of July; I can give my full time commitment to this project,. I assure dedication of at least 40 hours per week to the work and that I do not have any other obligations from May till August.
Overview and The Needpkgs.fedoraproject.org is a place which hosts about 17k git repos for rpms. Presently, it uses cgit. But, we do have Pagure for hosting git repos. After addition of few more features, we will be able to host pkgs.fedoraproject.org on a pagure instance. It will make pagure even more flexible software for hosting git repos and sharing code. I am sure project maintainers of pkgs.fedoraproject.org will like the change. Any relevant experience you haveHave been contributing to pagure, thus have a good understanding of the codebase. The technical requirements of the project mostly involves - Flask, SQLAlchemy. I have experience in both. While syncing the ACLs from pkgdb2, we might have to work with the pkgdb2 API. I have experience in working with API. Here are a few of my previous pull requests:
How do you intend to implement your proposalThere are two parts of this project: Understanding the requirements of pkgs.fedoraproject.org
functionality on pagure, keeping in mind that pagure doesn’t have concept of namespaces but pkgdb2 have.
This step might require guidance on how to implement the flow. Some of the features:
Filter contributors and number of contributions according to period and author. We can have a contributors page for this.
Projects on pkgs.fedoraproject.org don’t need issue tracer and docs, so we need a feature on pagure so that we can enable/disable issue tracer and docs at the time of settting up of the instance. There should be no option for issue tracer / Docs enable for the project maintainers if it has been disabled during installation.
Presently, the home page for any project on pkgs.fedoraproject.org is a summary page. It provides the contents of Refs and Logs. The overview page of pagure gives the Readme, the owners, branches, and latest commits on the selected branch. Since, this is ideal for any other project, we might want to have a summary page containing the Refs and Logs, with an option to enable / disable during setup of the instance. This needs discussion with the project maintainer.
Since, the ACLs of the packages are in pkgdb, we will require to sync pkgdb to pagure. We might want to use pkgdb2 api for this. Also, pkgdb now have namespaces which pagure doesn’t.
Since, users will have different access levels, we need a way to give different levels of access in a project from ACLs received from pkgdb or may be we can have a source defined during the setup from where we can fetch the acls, in general.
List of issues (as secondary goal) :
A rough timeline for your progressBefore April 15:
April 16 – May 10:
May 11 - May 20:
May 23 – June 20 (Official coding period to mid term eval):
June 21 – July 15:
July 16 – August 9:
August 10 - August 15:
August 16 – August 23 (Final Week):
Final deliverablesPrimary goals:
Secondary goals:
Any other details you feel we should considerI possess good knowledge of the project's codebase and I have been in touch with fedora infra team since past 6 - 7 months. |