Support teams and compute their contribution as KPI #395
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new concept for Podoma: contributor teams. A team is a list of username defined in each project.
Each team contributions is counted by Podoma in a dedicated thread to be released as several KPI:
Podoma establishes the delta of length and surfaces of each version and each version linked to the team is aggregated to get the global contributed length and areas on each date.
It doesn't currently support the count related to the team, nor labels.
This PR also includes a documentation effort for API and several improvements in processing.
It is necessary to use the following commands to update tables:
Also use the two following commands to rebuild changes materialized views depending on the filter of each projects:
_nodes.sqlwhen the project only involves nodes and_linear.sqlwhen the project has gotstatistics.lengthenabled.Projects points can now mention optional label, to distinguish contribution on different labels:
{ "statistics": { "points": { "add": 2, "edit": 2 }, "points_labels": {"gendarmerie": {"edit-in": 1}} } }Teams can be created in info.json of each project with:
{ "teams": { "blue": ["mapper1", "mapper2"], "red": ["mapper3", "mapper4"] } }And we got the corresponding contribution from a team with the URL: /projects/2025-01_project/counts/blue