Introduzione
L'offerta formativa viene sincronizzata dal prodotto Course Catalogue che è la nostra fonte autoritativa
Ogni anno in estate si procede con l'aggiornamento dell'offerta formativa ed è sempre molto importante fare prima delle prove in pp2 o locale in modo da poter intecettare eventuali problemi
Per policy interna il portale mostra solo l'offerta dell'anno in corso per quanto riguarda lo storico si dovrà puntare a Course catalogue
Il corso di laurea è l'entità princile che in drupal viene definita in course
Il Piano di studi è un insieme di insegnamenti che fanno parte del corso di laurea che in drupal viene definito come curriculum
Course catalogue ci fornisce un api contenente tutte le informazioni che possiamo integrare automaticamente al link https:// <ateneo> .coursecatalogue.cineca.it/api/v1/corsi?anno=<anno> (Es. https://unipv.coursecatalogue.cineca.it/api/v1/corsi?anno=2023)
In fase di inizializzazione dell'ambiente potrebbe essere comodo analizzare gli ambienti di pp o dev di Course Catalogue:
PP: https:// <ateneo> . pp.coursecatalogue.cineca.it/api/v1/corsi?anno=<anno>
DEV: https:// <ateneo> . dev.coursecatalogue.cineca.it/api/v1/corsi?anno=<anno>
Configurazione
Course
Questo modulo serve ad ottenere i corsi di laurea
Per essere configurato occore andara alla pagina admin/ugov/entities/course/migrate
Nel tab Mapping va configurato il Mapping strategy che viene definito dall'api di course catalogue se i corsi sono nella root principale si clicca su "Default" altrimenti su "Subgroup"
Nel form Coursecod|bundle va inserita la mappatura dei corsi a quella dei bundle è quindi molto importante studiare il json che ci arriva da Course Catalogue per interpretare il campo Cod del json al relativo bundle Drupla
le configurazioni standard sono:
- Lauree Triennali→ degree_programme
- Magistrali a ciclo unico 5 anni→ degree_programme
- Magistrali a ciclo unico 6 anni→ degree_programme
- Magistrali → second_level_degree
- Dottorati → doctorate
- Master 1° livello → master
- Master 2° livello → master
- Scuole di Specializzazioni → specializzazione
Ricordarsi di disabilitare il tasto "Delete mapping file after import" per renderlo non abilitato
Nel tab Filtering va definita la strategia più in particolare
nel tab Import strategy va definito che tipo di strategia usare, quelle ammissibili dal Product Owner sono "Specific year" e "Specific year + previous"
nel tab Anno va definito l'anno
in caso si sia deciso di usare "Specific year + previous" va compilato anche Group filter con i codici dei corsi dell'anno, mentre in Group filter previous year vanno inseriti i codici dei corsi da prendere dall'anno precedente
Nel tab Templates ci sono tutti i form contententi codice twig per la gestione dei campi: Requisiti, Scadenze, Tasse e ruoli
Nel CDL Text Mapping viene gestito il riordinamento dei Testi sua (detti anche Syllabus) in questo caso nel suggerimento di ogni form ci sono le istruzioni su come compilarlo
nel form Group id|Label IT|Label EN va inserita una lista di Group ID|Label IT|Label EN, one per line. The groups will be ordered by the line number
nel form TextCod|Group ID|Index va inserita una lista di TextCod (TextCod = tipoTestoProgDidCod)|Group ID|index, one per line. The texts could be ordered by the index, depending from the template
nel form Grouped texts template va indicato il twig del template
Curriculm
Questo modulo serve ad ottenere gli insegnamenti
Per essere configurato occore andara alla pagina admin/ugov/entities/curriculum/migrate
C'è solo il tab Templates dove sono presenti più form "Study plan" questo ci permette di ottenere più versione dello stesso contentuto e verrà ripreso dalla vista "Insegnamenti"
Operazioni da svolgere in caso di problemi
Verifica del Json
è molto importate prima di ogni operazione verificare la correttezza del file json di migrazione.
Per ogni ateneo il file da verificare si trova nella posizione /sites/<ambiente>/files/ugov_course[_en].json ad esempio https://www.unibg.it/sites/default/files/ugov_course.json
Lanciare il migrate
per lanciare in autonomia le migrate per chi non avesse accesso alla portali drupal01 si può procedere con il tasto esegui sulla pagina /admin/structure/migrate/manage/ugov_json/migrations
mentre è caldamente consigliato per chi ha l'accesso alla macchina utilzzare il comando drush ateneo mim --update/ --sync ugov_course
Piccolo memo:
- update: serve ad aggiornare forzatamente tutti i corsi ma molto spesso su ugov_course non riconosce l'id e potrebbe dare errore di chiave duplicata
- sync: serve a verificare se le entità drupal sono presenti sul file sorgente e nel caso in cui ci siano dati superflui procede ad una bonifica, dopo di che aggiornerà i record rimanenti
Template
Spesso capita di dover modificare il template di alcuni componenti dell'offerta formativa, per farlo si può andare alla pagina /admin/ugov/entities/course/migrate e nella sezione template si troveranno tanti box per modifica quanti sono i campi modificabili
Ogni "Box" contiene codice twig e si può modificare liberamente a seconda delle esigenze.
è molto importante una volta salvato i template pulire bene la cache altrimenti non si applicano correttamente le modifiche
Aggiungere un campo
è possibile procedere in autonomia nella creazione di campi base come dei testi semplici o testi elenco.
Per farlo è necessario creare i campi da /admin/structure/course_type cliccando sulla freccina vicino a Modifica poi su Gestisci campi
Procedere seguendo le istruzioni e compilare quanto richiesto, una volta creato il campo e propagato su ogni bundle si procede con la gestione del migrate.
Per gestire le migrazioni bisogna andare su /admin/config/development/configuration/full/export → singolo elemento e impostare i menù a tendina come segue
Tipo di configurazione: migrazione
Il nome della confiigurazione: UGOV Course (ugov_course)
Si otterà un configurazione da poter copiare e modificare sul proprio editor di testo
in questa configurazione si sono due sezioni principali quella del source e quella del process
Nella sezione Source ci sono i vari selettori che sono parti fondamentali per il recupero dell'informazione ad esempio
-
name: durata_it
label: 'Durata - it'
selector: cdsSub/0/durata_it
Dove:
name: indica il nome del selettore
label: indica l'etichetta che si vedrà nella migrazione
selector: indica il percorso del json dove sarà presente il campo
Nella sezione Proccess si va ad indicare come riempire il campo ad esempio
field_duration:
-
plugin: skip_on_editable
source: durata_it
entity_type: course
language: it
In questo esempio si vede il nome macchina del campo da riempire seguito da alcune informazioni
Plugin: indica quale metodo di inserimento sarà utilizzato per inserire il valore, ad esempio in questo caso skip_on_editable ci permette di evitare la sovrascrittura in caso in cui il campo sia stato modificato manualmente
Source: indica quale selettore utilizzare per inserire il dato
Entity_type: indica su quale entità è presente il campo
Language: indica quale traduzione dell'entità riempire
Una volta modificata la configurazione si può procedere all'importazione, quindi si va in /admin/config/development/configuration/full/import → singolo elemento e impostare il menù a tendina come segue
Tipo di configurazione: migrazione
a questo punto basta incollare la nuova configurazione e cliccare su importa
Prima di lanciare la nuova migrazione è sempre importante pulire la cache altrimenti si rischia di non vedere le modifiche appena effettuate in quanto si utilizza la vecchia configurazione
Aggiornare i Curriculum
Spesso capita di dover modificare il template di alcuni componenti del piano di studi in questi casi è necessario andare in /admin/ugov/entities/curriculum/migrate e modificare i vari template
Per capire quello corretto da modificare è opportuno verificare in /admin/structure/views/view/insegnamenti/edit/block_2 dove nella sezione fields ci sarà il nome del template utilizzato per mostare il piano di studi
una volta modificato il template è sempre importante pulire la cache altrimenti si rischia di non vedere le modifiche appena effettuate in quanto si utilizza la vecchia configurazione
Prima di lanciare le migrate è necessario lanciare il comando drush10 ateneo mdc e poi il comando di migrazione di ugov_course per la migrazione dei curriculum non è possibile procedere da interfaccia.