Gruppo-TecWeb / Codice

http://nostress.sytes.net/Fungo
2 stars 0 forks source link

Problematiche progettazione tabella Classifiche #231

Open LewentalDigital opened 4 months ago

LewentalDigital commented 4 months ago

Rich: La tabella ClassicheEventi è stata inspiegabilmente rimossa , non è più possibile collegare Eventi ad Classifiche "automaticamente" tramite il db ma si è costretti a fare "magheggi " con le date. Cosa che non è di certo indice di buona progettazione. Se la soluzione rimanesse per qualche motivo quella di non reinserire la tabella ClassificheEventi allora la issue non avrebbe più senso di esistere e potrebbe essere chiusa.

Anto: La tabella ClassificheEventi è stata rimossa in seguito alle modifiche apportate con la pr https://github.com/Gruppo-TecWeb/Codice/pull/185 In seguito a queste modifiche, nel caso te lo fossi perso, gli eventi non sono più abbinati a mano alle classifiche, operazione che era inutile e impegnativa, complicando la vita del gestore del sito; adesso gli eventi sono abbinati alla classifica in modo automatico (tipoEvento corrispondente e data compresa tra dataInizio e dataFine della classifica).

La issue continua ad avere il suo significato e la sua utilità, anzi, sempre a seguito delle stesse modifiche ora il link sarebbe molto semplice da generare, avendo ogni classifica un id come chiave primaria (esempio di link: Fungo/classifiche.php?classifica=1). Per recuperare l'id della classifica corretta non devi far altro che usare la funzione get_classifiche() per scaricare tutte le classifiche presenti e recuperare l'id della classifica con stesso tipoEvento dell'evento in questione, dataInizio precedente (o uguale) e dataFine posteriore (o uguale) alla data dell'evento in questione.

Rich: Abbinare "a mano" le classifiche in realtà non è un'operazione inutile e impegnativa, anzi adesso la logica del db è molto flessibile il che la rende facilmente mal interpretabile. Anzi adesso tocca farlo a mano noi più volte all'interno del nostro codice dandoci una regola interna che può essere spezzata (sbagliando) in qualsiasi momento senza nessun tipo di errore. Non è tanto un problema di "come" farlo ma già il fatto che me lo debba spiegare tu e non guardando io il db dove non vedo alcun tipo di associazione tra classifiche ed eventi (che c'è) è un problema di progettazione evidente. Banalmente quando si inserisce un elemento in classificheEventi si può provare a fare il match nel db tra tipo evento dell'evento e della classifica e se la data dell'evento stia dentro quella della classifica. Al momento all'interno del sito questa associazione viene dunque fatta suppongo nella pagina admin e basta applicando la "regola interna". La issue presuppone un collegamento tra classifica ed evento che ora è molto labile (quasi inesistente) , il che rende, di conseguenza, anche la issue molto poco significativa Piuttosto di fare un refactoring pesante la chiuderei e fine

Anto: Mi sembra che si stia andando ben oltre l'obiettivo della issue... se ritieni utile ridiscutere quanto già implementato nella precedente pr apri pure una nuova issue elencando le tue contrarietà e proponendo delle possibili soluzioni alternative, ovviamente da valutare post consegna del progetto visto che ormai siamo già oltre la scadenza che ci siamo fissati.

Per quanto riguarda questa issue credo si possa risolvere molto facilmente, se ritieni invece sia necessario rivalutarla sulla base di quanto sopra allora possiamo spostare anche questa alla fase post consegna del progetto.