Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: ♻️ teachings & degrees #20

Merged
merged 12 commits into from
Nov 7, 2023
Merged

Conversation

ali-benny
Copy link
Member

Per migliorare i corsi generici come discusso in cartabinaria/dynamik#122 e #17, ho creato 2 file separati:

  • teachings.json: organizza tutti gli insegnamenti per anno, assegnando un id a ogni corso;
  • degrees.json: organizza tutti i corsi di laurea, prendendo per ogni anno gli insegnamenti, referenziati in teachings per id.

Osservazione: teachings.json mi è venuto naturale suddividerlo per anni dato che si trattava di insegnamenti, ho il dubbio però che forse l'idea originale era di organizzarlo per id insegnamento (?)

This close #17

To improve generic degrees as discussed in cartabinaria/dynamik#122 and #17, I've created 2 separate files:
`teachings.json`: organizes all the teachings by year, giving an id to each course;
`degrees.json`: organizes all the degrees, taking for each year the courses referenced in teachings by id.
@ali-benny ali-benny linked an issue Oct 24, 2023 that may be closed by this pull request
2 tasks
teachings.json Outdated Show resolved Hide resolved
teachings.json Outdated Show resolved Hide resolved
degrees.json Show resolved Hide resolved
@VaiTon
Copy link
Member

VaiTon commented Oct 25, 2023

TLDR:
File teachings.json array di oggetti con

  • id (che è uguale a quello della repo)
  • nome
  • chat
  • ...

File courses.json: array di oggetti con

  • nome
  • anni: array di oggetti con
    • anno
    • teachings: array di stringhe che si riferiscono all'id in teachings.json
  • tutte le altre info (icone, ...)

@VaiTon
Copy link
Member

VaiTon commented Oct 25, 2023

@ali-benny @foxyseta confermate?

@foxyseta
Copy link
Member

teachings: array di stringhe che si riferiscono all'id in teachings.json

Non un array di coppie id + booleano optional? Siccome un insegnamento opzionale per noi potrebbe non esserlo per voi e viceversa.

tutte le altre info (icone, ...)

Queste includono anche un id univoco giusto? Che nel caso di lab deve coincidere con il nome della repo? E lab ha un campo groupchat che gli altri CdL propriamente detti non hanno?

@ali-benny
Copy link
Member Author

teachings: array di stringhe che si riferiscono all'id in teachings.json

Non un array di coppie id + booleano optional? Siccome un insegnamento opzionale per noi potrebbe non esserlo per voi e viceversa.

tutte le altre info (icone, ...)

Queste includono anche un id univoco giusto? Che nel caso di lab deve coincidere con il nome della repo? E lab ha un campo groupchat che gli altri CdL propriamente detti non hanno?

confermo

@VaiTon
Copy link
Member

VaiTon commented Oct 26, 2023

Non un array di coppie id + booleano optional? Siccome un insegnamento opzionale per noi potrebbe non esserlo per voi e viceversa.

A questo punto direi di fare due fields in teachings: mandatory and optional

Queste includono anche un id univoco giusto? Che nel caso di lab deve coincidere con il nome della repo? E lab ha un campo groupchat che gli altri CdL propriamente detti non hanno?

Forse sto capendo male io, ma l'id univoco non potrebbe essere il nome del repository? Riguardo alla groupchat, non dovrebbe essere specificata per tutti gli insegnamenti?

@ali-benny
Copy link
Member Author

Forse sto capendo male io, ma l'id univoco non potrebbe essere il nome del repository?

Sisi infatti.

Riguardo alla groupchat, non dovrebbe essere specificata per tutti gli insegnamenti?

Penso di sì. Solo voi di ing-info fate eccezione quindi lascerei come ora questo campo.

@foxyseta
Copy link
Member

Forse sto capendo male io, ma l'id univoco non potrebbe essere il nome del repository? Riguardo alla groupchat, non dovrebbe essere specificata per tutti gli insegnamenti?

@VaiTon @ali-benny Si stava parlando dei CdL nella parte di messaggio a cui ho risposto, non di insegnamenti.

@ali-benny
Copy link
Member Author

Forse sto capendo male io, ma l'id univoco non potrebbe essere il nome del repository? Riguardo alla groupchat, non dovrebbe essere specificata per tutti gli insegnamenti?

@VaiTon @ali-benny Si stava parlando dei CdL nella parte di messaggio a cui ho risposto, non di insegnamenti.

ops, comunque sì, riconfermo la frase.
Per quanto riguarda l'id dei teachings potrebbe essere utile per non scrivere doppioni e richiamare con ref [credo di averlo già scritto, mi sto un po' perdendo tra i messaggi]

@foxyseta
Copy link
Member

foxyseta commented Oct 26, 2023

TLDR2:
File teachings.json array di oggetti con

  • id (che è uguale a quello della repo)
  • nome
  • chat (opzionale)
  • ...

File courses.json: array di oggetti con

  • id (nel caso di lab coincide con il nome della repo)
  • nome
  • chat (opzionale: lab e ingegneria-informatica lo hanno, informatica no)
  • years: array di oggetti con
    • index
    • chat (opzionale: informatica/1 lo ha, ingegneria-informatica no)
    • mandatory: array di stringhe che si riferiscono all'id in teachings.json
    • electives: array di stringhe che si riferiscono all'id in teachings.json
  • tutte le altre info (icons, ...)

@foxyseta
Copy link
Member

Siccome il pulsante della chat vogliamo già aggiungerlo al "CdL" lab, lo facciamo anche per gli altri CdL che hanno una comunità Whatsapp/chat Telegram del CdL? Per chi come informatica invece ha gruppi degli anni vogliamo fare anche le chat degli anni?

@foxyseta foxyseta marked this pull request as draft October 26, 2023 11:44
@foxyseta
Copy link
Member

OT: impostata questa PR come "bozza" siccome:

  • stiamo ancora ridefinendo gli ultimi dettagli sulla struttura;
  • ora che questo materiale è pronto saranno già stati aggiunti diversi insegnamenti di AI altrove, quindi dovremo pensare anche a quelli

@ali-benny
Copy link
Member Author

Siccome il pulsante della chat vogliamo già aggiungerlo al "CdL" lab, lo facciamo anche per gli altri CdL che hanno una comunità Whatsapp/chat Telegram del CdL? Per chi come informatica invece ha gruppi degli anni vogliamo fare anche le chat degli anni?

Mi sembrano ottime idee

@ali-benny
Copy link
Member Author

btw attualmente il "nome repo" è già assegnato al campo "url", possiamo sfruttare questo campo o lo duplichiamo in un nuovo "id"?

@ali-benny
Copy link
Member Author

TLDR2: File teachings.json array di oggetti con

  • id (che è uguale a quello della repo)
  • nome
  • chat (opzionale)
  • ...

File courses.json: array di oggetti con

  • id (nel caso di lab coincide con il nome della repo)

  • nome

  • chat (opzionale: lab e ingegneria-informatica lo hanno, informatica no)

  • years: array di oggetti con

    • index
    • chat (opzionale: informatica/1 lo ha, ingegneria-informatica no)
    • mandatory: array di stringhe che si riferiscono all'id in teachings.json
    • electives: array di stringhe che si riferiscono all'id in teachings.json
  • tutte le altre info (icons, ...)

NOTA: dividendo year così perdiamo però quali insegnamenti sono in quali anni...

@foxyseta
Copy link
Member

btw attualmente il "nome repo" è già assegnato al campo "url", possiamo sfruttare questo campo o lo duplichiamo in un nuovo "id"?

Come detto sopra io rimuoverei l'attuale campo id degli insegnamenti (in realtà è l'id del CdL, e sono i CdL a puntare agli insegnamenti, non viceversa), e poi url scegli pure se rinominarlo in id o repo o lasciarlo così.

NOTA: dividendo year così perdiamo però quali insegnamenti sono in quali anni...

Ogni anno contiene un elenco di insegnamenti obbligatori e opzionali. Non basta vedere lì?

@ali-benny
Copy link
Member Author

NOTA: dividendo year così perdiamo però quali insegnamenti sono in quali anni...

Ogni anno contiene un elenco di insegnamenti obbligatori e opzionali. Non basta vedere lì?

Okay, ma così per aggiungere un nuovo insegnamento devo modificare sia degrees che teachings

@foxyseta
Copy link
Member

Vedi: #20 (comment)

@VaiTon
Copy link
Member

VaiTon commented Oct 26, 2023

Okay, ma così per aggiungere un nuovo insegnamento devo modificare sia degrees che teachings

Sinceramente va bene così secondo me

@foxyseta foxyseta mentioned this pull request Oct 28, 2023
2 tasks
@foxyseta
Copy link
Member

Ho menzionato l'ultimo TLDR dove ho integrato tutti i vostri commenti nella issue collegata in modo da documentare lo schema desiderato. @ali-benny se è troppo pesante/tedioso come lavoro dimmi pure che quando avrò più tempo potrò darti una mano.

@ali-benny
Copy link
Member Author

Domanda: ho riadattato i file in base al TLDR 2.
A questo punto la repo csunibo/lab come la gestiamo? metto l'id del teaching all'interno della mandatory?

@foxyseta
Copy link
Member

foxyseta commented Nov 1, 2023

Se ho capito bene lab è solo un CdL e non un insegnamento. Quindi scompare dal file teachings.json e quando lo dichiari in courses.json non definisci un campo years. Usiamo il "non c'è un campo years" per capire che linka direttamente al listing della sua repo.

teachings.json Outdated Show resolved Hide resolved
@foxyseta foxyseta marked this pull request as ready for review November 3, 2023 10:42
@foxyseta
Copy link
Member

foxyseta commented Nov 3, 2023

Ho creato una branch https://github.com/csunibo/config/tree/stable dove aggiungere i nuovi insegnamenti nel vecchio formato finché dynamik non supporta quello nuovo. Questo nel caso ci mettiamo tanto ad aggiornare dynamik per qualche motivo o se la gente ha fretta di vedere i nuovi insegnamenti in produzione per motivi di pubbliche relazioni.

@csunibo/ingegneria-informatica @csunibo/artificial-intelligence-1 questa modifica impatterà il leggermente il vostro flusso di lavoro per la creazione di nuove repo, ma aggiorneremo la documentazione. Nulla di preoccupante!

@foxyseta
Copy link
Member

foxyseta commented Nov 4, 2023

@VaiTon durante il rebase non hai lasciato fuori uno dei due insegnamenti di IA?

@VaiTon
Copy link
Member

VaiTon commented Nov 5, 2023

@foxyseta non ho fatto rebase ma merge, quindi mi sembra strano che abbia tolto roba. Potrebbe essere che non erano ancora stati convertiti al nuovo "formato"?

@foxyseta
Copy link
Member

foxyseta commented Nov 5, 2023

Sì scusa devo smettere di usare rebase per intendere "merge/rebase da main verso branch secondaria". È sbagliato.

Comunque l'idea è che tutto quello che è su main è nel vecchio formato, quindi chiunque faccia il merge per ora deve per forza riportare tutte le modifiche nel nuovo (in questo caso è solo un insegnamento quindi ci metti un secondo).

@foxyseta
Copy link
Member

foxyseta commented Nov 6, 2023

Ho visto che hai specificato il degree anche per il laboratorio di amm. sistemi. È perché vuoi aggiungere pure quello agli opzionali di informatica (assumendo ci siano persone di informatica che lo facciano davvero)?

@ali-benny
Copy link
Member Author

Ho visto che hai specificato il degree anche per il laboratorio di amm. sistemi. È perché vuoi aggiungere pure quello agli opzionali di informatica (assumendo ci siano persone di informatica che lo facciano davvero)?

sì, so di diverse persone al 3 che lo seguiranno

@foxyseta
Copy link
Member

foxyseta commented Nov 6, 2023

Ottimo. ALlora lo aggiungerei agli opzionali di informatica in degrees.json. E poi mi sembra tutto giusto.

@foxyseta
Copy link
Member

foxyseta commented Nov 7, 2023

@ali-benny quando vuoi puoi unire a main per me.

@ali-benny ali-benny merged commit c5c24b8 into main Nov 7, 2023
3 checks passed
@ali-benny ali-benny deleted the feat/refactor-courses branch November 7, 2023 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Insegnamento lab
3 participants