Projekt

Obecné

Profil

Iterace 3 zadavatel dotazy » Historie » Verze 2

Štěpán Faragula, 2025-03-27 21:44

1 1 Štěpán Faragula
h1. 3. iterace - Schůzka se zadavatelem ohledně technických dotazů
2
3
----
4
5
h3. Informace o schůzce
6
7
* *Datum: 27.3.2025* 
8
* *Čas: 13:30 - 14:00*
9
* *Forma: prezenčně u zadavatele*
10
11
h3. Účastníci:
12
13
* Bc. Jakub Pavlíček, jpvlck@students.zcu.cz
14
* Bc. František Urban, furban@students.zcu.cz
15
* Bc. Štěpán Faragula, farag844@students.zcu.cz
16
17
h3. Poznámky ze schůzky
18
19 2 Štěpán Faragula
Zadavateli jsme předvedli náš pokrok v iteraci.
20
* *Dokument architektury* - vypadá ok, zadavatel to projde podrobně později
21
* *React GUI* - ok
22
* *Popis tabulek SPADe* - ok
23
* *Kód* - rozhraní je ok, zadavatel navrhl, že můžeme mít i oddělené rozhraní pro bugtrackery a repository
24
25
Dále jsme se zeptali na dotazy
26
# Musíme nutně v Git provider pumpách využívat čistou Git pumpu? Některé knihovny Git providerů totiž umí všechno, co umí i Git pumpa.
27
** Není nutné, dnešní API jsou propracovanější než dříve
28
# Do konce TSP1 máme mít hotovou Jira, Git a GitHub pumpu. Myslí se tou Git pumpou i to, že jí půjde spustit samostatně, nebo se předpokládá, že od ní budou dědit Git providers pumpy (např. GitHub, GitLab)? 
29
** Bylo by to dobré, protože pak můžeme dolovat i repository, co nejsou na GitHub a jsou jenom lokálně na Git
30
** Git pumpa by měla jít spustit samostatně, i když z ní nedostaneme všechna data
31
** Git můžeme klidně použít u pumpování GitLab, je to dobrý nápad
32
# Co je to tabulka "work_unit" - popř. když je v relaci s "commit", tak to znamená, že commit message je uložena v tabulce "work_unit"?
33
** Tickety/issues v bugtrackeru
34
** Nějaká část jejich atributů je děděná z work itemu, kde jsou uložené specifické atributy POUZE pro tickety
35
** Plnohodnotný item -> musíme udělat join pro "work_item"
36
** Nevadí, když všechny atributy nevyplníme
37
# Proč je v tabulce "tag": externalID – někdy "tag SHA" a někdy "commit SHA"?
38
** Annotated = tag
39
** Unannotated = commit
40
# Jaký význam má tabulka "configuration_person_relation" a co znamenají její atributy? V data.sql nejsou ukázková data, hádáme, že se zde rozlišuje autor a commiter
41
** configuration_person_relation = podpisy commitů
42
*** Na GitHub reviewed by, modified by atd.
43
*** Jde vidět, že i jiný člověk dělal změny v commitu a ne jenom jeho autor
44
*** Např. autor commitu v jednom branch, při merge do jiný branch se udělá commit pod někým jiným
45
** configuration = JSet, sada několika změn "work_item_change"
46
** work_item_change = změna jednoho itemu přes několik atributů "field_change"
47
** field_change = změna 1 konkrétního atributu v ALM itemu
48
# Když tabulka "person" znázorňuje osoby podílející se na projektu, jak je máme získávat? Identity získáme z ALM nástrojů, ale jak získat "person"? Máme z "identity" vzít unikátní atributy (tj. celá jména osob) a z toho vytvořit "person"?
49
** Dřívější zkušenosti s dolováním:
50
*** Nejprve se vytahali všichni team members a dala se jim role tak jak je mají na ALM (developer, maintainer)
51
*** Postupně se pak přidávali lidi, co se objevovali v commitech a issues, kteří nebyli jako členové týmu
52
*** Identity se slučovali až když bylo jisté, že jde o stejnou osobu
53
** Můžeme nejdřív udělat přiřazení 1:1, až si budeme jistí, že se opakuje víc osob, tak podle heuristiky sloučit do jedné
54
*** Stejný email a jiný username -> můžeme spojit
55
*** Stejný username a jiný email -> podívat se, jestli se shoduje část emailu před zavináčem
56
** Je lepší mít mapování 1 identita 1 osoba, než přiřadit špatně
57
** Někdy lidi dávají do políčka pro celé jméno username
58
*** Osvědčilo se, že delší celé jméno, než nickname je skutečné jméno (většinou fungovalo)
59
# Můžeme pak udělat pseudonimizaci tak, že data nejdříve uložíme plaintext do databáze a až pak na ně pošleme anonymizace? Že uložíme čistá data a pak uděláme UPDATE na tyto data pro pseudonimizaci? 
60
** Ano, případně to i bude součástí budoucích vylepšení (nahraje se do databáze, vypadne server, neproběhne preprocessing a data jsou uložená bez pseudonimizace)
61
# Tabulka "role", když GitHub má role jen pro oragnizace a tyto role jsou: ADMIN a MEMBER, stačí ty role takto anebo se tím myslí přístupová práva, jako ADMIN, WRITE, READ, NONE? Na získání práv uživatele nemáme dostatečná práva – potřebovali bychom ADMIN roli v daným repu.
62
** Stačí ADMIN a MEMBER
63
# Tabulka "people_group", myslí se tím "team" na GitHubu?
64
** Může být, v Redmina takový koncept ani není
65
** Není podstatné pro těžení
66
67
Nakonec jsme se se zadavatelem domluvili, že *prodloužíme iteraci o jeden týden*, abychom mohli pořádně zapracovat na pumpách a uzavřeli tak milník LCA. Zadavatel s touto změnou souhlasil.
68
 
69 1 Štěpán Faragula
----
70
71
Autor: Štěpán Faragula
72
Datum: 27.3.2025
73
Stav: hotový