-
Notifications
You must be signed in to change notification settings - Fork 197
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
GSoC Idea: Implement user roles/permissions and OpenID #416
Comments
Hey there! |
Hi guys! |
Hi there ! |
Hi everyone, thanks for your interest in applying for this idea. You can start working on the microtasks to get a better idea of the project. Let us know if you have any doubts. 🙂 For all students interested in this idea, please comment on this issue to get in touch with the mentors. This is the main communication channel. |
Hi @AllMight2099 @Riyabelle25 @VSevagen The main reason behind the microtasks is, these tasks will give a good minimum understanding of the Sorting Hat tool as well as the GrimoireLab platform as a whole. It will be really helpful for writing your proposal. If you haven't started working on the microtasks yet, I would suggest you start asap. You can create a github repository for storing the microtasks and you can open issues in that repo for asking doubts or reviewing the tasks. Thanks. |
Hey @vchrombie!
Considering that I've understood the codebase, I just need to deploy micro-mordred. But the docker error isn't allowing me to proceed |
Hi there ! |
Did you mean Sir Mordred? Can you please confirm if the elasticsearch service is reachable? You can use It would be great if you share some more information like the steps and the docker-compose file to have a closer look. |
Yeah, I meant micro-mordred actually. This was the response that I got from curl And my docker-compse file for elastic search was this:
|
Okay, so, I installed the grimorelabs using docker this time and it works. Sir Mordred works fine. If anyone faces a similar issue with Elasticsearch, try installing grimore labs using the "Only Docker" approach |
The elasticsearch is not reachable. You should find something useful in the logs while running the docker-compose for elasticsearch. It would be great if you can check the logs once. Most of the time, it is a low memory issue or something should be wrong with the configurations, troubleshooting. We can meet once if you want to dig more to find the cause of the problem.
Sorry @AllMight2099, but I wouldn't suggest this. The docker solution is for the people who are interested in using GrimoireLab but are not interested in its source code. It would be better if you can run micro-mordred using the setup described in the microtask-1. |
Hey @vchrombie! Sorry about the delay, had a few tests and couldn't come online. I fixed the issue, it was the low memory usage issue itself. Had an issue with SearchGuard too, I tried fixing that, but couldn't. Had to use a docker-compose without Search Guard, but everything's up and running now, I'll put up my microtask submission by tomorrow and then I'll get started on the proposal |
No problem @AllMight2099
Even that works, but make sure you change the es endpoints in the setup.cfg file if you are using without searchguard.
The |
Hi everyone, the student application period has started and the deadline is 13 April 2021, 18:00 UTC. GSoC Timeline Please continue working on the proposal and complete as many microtasks as possible. Please let us know if you need any help with doubts or reviewing the microtasks. |
@vchrombie is their any restriction to select a provider in OpenID or i can select Google as per my priority for OpenID connect . |
@vchrombie , i have one Doubt that is as per this GSoC idea we have to implement roles/permissions for users , but django already provides us this feature in his admin panel in the form of groups and permissions . So what the work we have to do during this idea . |
@SourabhSaraswat-191939 That's up to you and it's part of your proposal. If we can use django functionalities, that will be a very good option but it doesn't mean it's the only one. You can come up with an alternative that works better than Django's roles and groups for our case. You just need to explain what your solution is better than others. Keep in mind that the idea is to have those roles should restrict what operations users can do. Also, those roles will be very important when they are integrated with OpenID. |
Ok @sduenas , |
Thanks to everyone who showed interest in applying for this idea and worked on making a proposal and the microtasks. It was great working with you. As the final steps, please make sure you submit your proposal on the Google Summer of Code website and you also need to open a PR adding your name and details to the GSoC-interest.md file in order to qualify as an interested candidate. Both have to be completed before the deadline mentioned on the GSoC website. Thanks once again! All the best. |
Thanks everyone for participating in this idea! Unfortunately, no students have been selected for this idea despite the good applications. The decision process was divided into evaluation and discussion. In the evaluation phase, the mentors checked the proposals based on different dimensions (e.g., clarity, soundness, complexity, microtasks). In the discussion phase, the mentors shared their views on the proposals and democratically made a decision. But, I believe that the time, interest, and contributions to GrimoireLab of @VSevagen, @SourabhSaraswat-191939, and @AllMight2099 have been remarkable, and it would be great if you would like to keep contributing to GrimoireLab. At the same time, I totally understand your mood right now. If you have any questions, comments, or concerns about the selection process, feel free to write here or send an email to venu@bitergia.com. Thanks! This issue is going to be closed on Friday. |
Right now, SortingHat only supports one type of user: the admin user. We would like to have different roles, so basic users don't have all the rights to do evil things when using the service. Additionally, we want to integrate OpenID as a secure protocol for users to sign-in.
SortingHat is the tool that we use to manage identities data in GrimoireLab. As individuals in a project can have different identities - several usernames or email addresses - this tool allows creating unified profiles of them. Then, the platform will use this information to generate accurate results of the activity of these participants.
SortingHat started as a command-line tool but after some years, we saw its potential and we decided to create a new version, this time as a service. This new version provides a new GraphQL API to operate with the server and a UI web-based app, that replaces Hatstall, the old UI for SortingHat.
Although the development of it is in its later stage and it will be ready soon for the stable version of the platform, there are many good ideas that we will like to incorporate. Some of them were selected for GSoC 2021.
The aims will require working with:
The aims will require generating code in Python for Django and the GraphQL API, and for the web app (generated with Vue.js and Vuetify).
Microtasks
For becoming familiar with GrimoireLab, you can start by reading some documentation. You can find useful information at:
Once you're familiar with Grimoirelab, you can have a look at the following microtasks.
Microtask 0:
Download PyCharm and get familiar with it (for instance, you can follow this tutorial).
Microtask 1:
Set up a dev environment to work on GrimoireLab. Have a look at chaoss/grimoirelab-sirmordred - Getting-Started.md.
Microtask 2:
Execute micro-mordred to collect, enrich and visualize data from Git repositories.
Microtask 3:
Based on the elasticsearch documents produced by micro-mordred and source code of chaoss/grimoirelab-elk, try to answer the following questions:
author_id
?author_org_name
?author_uuid
?author_domain
?uuid
?utc_commit
?origin
?Microtask 4:
Set up the developer environment of SortingHat (muggle branch).
NOTE: The sortinghat muggle branch is a WIP branch. As of now, it doesn't work with the core of the GrimoireLab platform but we hope to have it ready soon.
Microtask 5:

Create a sample profile with different identities and enrollments using the SortingHat UI.
Microtask 6:
Using the SortingHat GraphQL Console, create a query that fetches the data (identities, enrollments) of an individual profile.
Microtask 7:
Create a script that can parse the gitdm developer affiliation files and load the data in a SortingHat database using GraphQL.
Microtask 8:
Improve the visualization of the
individualCards
component. You need not send a PR, please update the work in your personal fork.Microtask 9:
Submit a PR to any of the GrimoireLab components to increase the test coverage of one or more files of the source code.
Microtask 10:
Submit at least a PR to one of the GrimoireLab repositories to fix an issue, improve the documentation, etc. Some good-first-issues are:
The text was updated successfully, but these errors were encountered: