fgaz / unitncal

Sincronizza nativamente il tuo calendario con gli orari dell'università di Trento! il vecchio programma è nel repo unitncal-old
http://unitncal.fgaz.me
GNU Affero General Public License v3.0
6 stars 0 forks source link

Easyacademy è cambiato ancora #9

Closed ruggi99 closed 2 years ago

ruggi99 commented 3 years ago

Easyacademy è stato aggiornato ancora e adesso non include più la selezione dei corsi nell'URL... Qualcuno può confermare?

oselin commented 3 years ago

Si me ne sono accorto anche io. Sembra che la selezione delle lezioni sia fatta attraverso js (mostrare o nascondere), infatti se da visualizzazione settimanale passi a quella di tutto il semestre i corsi deselezionati ricompaiono

ruggi99 commented 3 years ago

Se clicchi su "Eventi ad elenco" invece viene aggiunta la selezione nell'URL come una volta ma sempre vuota

oselin commented 3 years ago

Allora dopo provo a dare un'occhiata. Nel frattempo ho notato che nel file .ics mancano alcuni parametri e per questo la sincronizzazione su Apple Calendar e Outlook falliva. Ho scritto allo staff per farglielo notare

ruggi99 commented 3 years ago

A me il file .ics risulta vuoto (c'è l'intestazione con tanto di timezone ma nessun evento). Poi non capisco perchè il timezone sia impostato su quello di Brussel..

oselin commented 3 years ago

Dopo ec_download_ical_list.php? manca il parametro view=easycourse In questo modo: https://easyacademy.unitn.it/AgendaStudentiUnitn/ec_download_ical_list.php?view=easycourse&include=corso&txtcurr=[...]

ruggi99 commented 3 years ago

Ok, non solo manca view=easycourse ma anche include=corso per far popolare il file .ics, che ora "va". (Non va la parte di selezione ancora)

fgaz commented 3 years ago

Pull requests per aggiungere i parametri necessari sono bene accette :)

ruggi99 commented 3 years ago

Va bene fixare i due parametri mancanti, ma resta il problema della selezione dei corsi (che penso sia abbastanza importante?) ancora da fare

oselin commented 3 years ago

Ok allora ho dato un'occhiata. Cliccando sul pulsante per esportare in excel vengono nuovamente riempiti i parametri ar_code_ e ar_select_,

Quindi mettendo questi parametri "riempiti" all'interno del link per il file .ics si ottengono le lezioni filtrate. Ma appunto perché si ottengono solo esportando in excel non penso ci sia modo di rendere automatica la conversione, va fatto a mano

oselin commented 3 years ago

Inoltre lo staff di easyacademy ha risposto che dovrebbero correggere il file .ics a breve, per cui sarà di nuovo possibile la sincronizzazione

ruggi99 commented 3 years ago

C'è modo secondo voi di chiedere allo staff di rimettere la selezione dei corsi nell'URL?

fgaz commented 3 years ago

ma resta il problema della selezione dei corsi

oh ok, ora ho visto... il bello è che così si resetta pure la pagina, quindi è un problema anche per il sito. magari se come scrive @ruggi99 segnaliamo pure questo lo rimettono a posto

ruggi99 commented 3 years ago

Appunto, perchè questo rende di fatto inutile il tuo sistema. A meno che non si trovi un metodo, che io non ho trovato. Ogni comando eseguito sul sito resetta l'URL perchè invece che fare affidamento sulla serializzazione del form (come una volta), prendono l'URL grezzo, modificano un parametro e poi ricaricano la pagina

fgaz commented 3 years ago

Oppure a questo punto si potrebbe chiedergli di esporre una volta per tutte in un campo di testo l'url dell'ics.

ruggi99 commented 3 years ago

Più che esporlo in un campo di testo, forse sarebbe meglio copiarlo direttamente negli appunti con un click

fgaz commented 3 years ago

La soluzione con massima compatibilità di solito è avere entrambe le cose, come github:

image

ruggi99 commented 3 years ago

Si certo :). Poi ovvio che uno se ne frega dell'URL generato e pensa solo a copiarlo col pulsante, no? Comunque ho seri dubbi che lo faranno

oselin commented 3 years ago

Ok allora forse possiamo farcela ma in maniera "sporca".

Scriviamo uno script JS che che ottenga i meta-tag della legenda. Tra quest infatti sono presenti i data-codice, utilizzati nel "vecchio" link. Per cui basterebbe introdurre in unitncal delle checkbox per sapere se uno studente vuole visualizzare o meno un certo corso. Poi si compone il link per la richiesta del file .ics ed è fatta image

ruggi99 commented 3 years ago

Sono d'accordo sull'idea. Basta fare una chiamata a https://easyacademy.unitn.it/AgendaStudentiUnitn/grid_call.php che restituisce alcune informazioni in JSON, fra cui la legenda di cui sopra. image

oselin commented 3 years ago

Grande!!

ruggi99 commented 3 years ago

@fgaz @MarcoDiFrancesco osservazioni?

MarcoDiFrancesco commented 3 years ago

La soluzione con un dropdown per la selezione del corso di laurea e delle checkbox per la selezione dei corsi mi sembra una buona soluzione. Mi sorge comunque la domanda: che funzionalità avrebbe in più questo sistema a confronto di copiare il link del calendario direttamente da UniTrentoApp (Orari lezioni -> Preferite -> Top right icon -> Copia negli appunti)?

oselin commented 3 years ago

Ah cavolo non mi ero accorto di questo. Grazie 😉

ruggi99 commented 3 years ago

L'App rende potenzialmente obsoleto questo sistema

fgaz commented 3 years ago

L'app se non ricordo male è software proprietario e non si appoggia a protocolli standard, il che non rende questo progetto ridondante.

Il problema a questo sito rimane comunque, quindi riapro, e se qualcuno ha una soluzione le PRs sono benvenute.

ruggi99 commented 3 years ago

Ho chiuso l'issue per inattività, ma il problema persiste ovviamente. Per curiosità Francesco, hai statistiche sull'utilizzo del tuo sito?

fgaz commented 2 years ago

Non le ho. Sono contrario a google analytics e simili per questioni di privacy, e preferisco semplicemente analizzare i log lato server per esempio con https://goaccess.io/. Per comodità tengo questo sito su netlify, in cui questa funzionalità è a pagamento, e non m'interessa abbastanza da abilitarla.

Il problema dovrebbe essere stato risolto in #10