Trovi qui le istruzioni per utilizzare l’app – foglio di lavoro più script – in fase di test. Sono istruzioni veloci e piuttosto sommarie; se qualcosa non è chiaro o hai bisogno di maggiori indicazioni, puoi usare i commenti in fondo, o la pagina dei contatti per scrivere in modo più articolato.

Passaggi preliminari

  • Utilizza un account superadmin per tutte le operazioni qui descritte, pena il non funzionamento della procedura.
  • Occorre creare un account di servizio con delega di autorità a livello di dominio. Questo è il passaggio più delicato, e un po’ più tecnico. Se sei sufficientemente autonomo, puoi seguire questa guida di Google: Perform Google Workspace Domain-Wide Delegation of Authority. Altrimenti puoi seguire le indicazioni più dettagliate nel post Domain-wide authority delegation: impersonare utenti in Apps Script.
  • Conserva il file JSON che verrà scaricato, ti servirà poco più avanti – (conserva il file in modo sicuro, sono credenziali particolarmente delicate, vedi il post indicato sopra per i dettagli)
  • Aggiungi all’account appena creato questi ambiti OAuth (indicazioni per come fare nel post appena linkato):
    https://www.googleapis.com/auth/contacts, https://www.googleapis.com/auth/contacts.other.readonly, https://www.google.com/m8/feeds/
  • Vai in console di amministrazione > Directory > Impostazioni directory > Impostazioni di condivisione > Condivisione dei contatti; verifica che la condivisione sia attivata (consiglio di selezionare Mostra solo indirizzo email principale); questo permetterà a tutti gli utenti di visualizzare i gruppi con il nome corrente, dopo aver eliminato quelli con il nome obsoleto

Impostare il file

  • Copia il file nel tuo Drive da qui: https://docs.google.com/spreadsheets/d/1vTDTAKB53jfJKaE9VTdT7JAH7WPz-jvc2tn4zqXbCMs/copy
  • Apri il file, clicca su Strumenti > Editori di script – fai attenzione, questa volta lo script è molto complesso, e distribuito su diversi file: sono elencati nella colonna a sinistra
  • Clicca sul file funzioni_OAuth2.gs, e copia nello script i valori di private_key e client_email ricavati dal file JSON delle credenziali (nello script trovi valori segnaposto, sostituiscili con i tuoi); quindi salva le modifiche con l’icona apposita in alto
  • Torna nel foglio di lavoro, clicca sul menu Test ed esegui la funzione Recupera utenti… – la prima volta ti verranno chieste le autorizzazioni, che dovrai concedere, ma la funzione non verrà eseguita
  • Esegui nuovamente la funzione: controlla che nel foglio utenti e gruppi vengano elencati tutti gli utenti e gruppi del tuo dominio; serve come test prima di procedere

Utilizzare lo script

Cosa fa lo script:

  • crea un elenco degli utenti del dominio, e un elenco dei gruppi
  • scorre gli utenti, e per ognuno di essi:
    • recupera i Contatti
    • cerca se tra i contatti sono presenti gruppi
    • se presenti, li elimina
    • ripete le stesse operazioni per gli Altri contatti
  • crea un log dettagliato di tutte le operazioni durante l’esecuzione (nel log dell’editor di apps script), e degli esiti delle operazioni per ogni utente nel foglio di lavoro utenti
  • imposta un ciclo di avvii, interruzioni e riprese automatiche per evitare che le esecuzioni sforino i limiti massimi imposti da Google (30 minuti per singola esecuzione, 6 ore di esecuzione complessiva giornaliera). Ai 25 minuti l’esecuzione viene interrotta, riprogrammata una nuova esecuzione ad ogni ora fino al completamento; se alle 5 ore e 30 si esecuzione globale non è stato completato il ciclo, vengono saltate tutte le esecuzioni fino al giorno successivo (quando i limiti vengono azzerati)
    per questo lavoro non si dovrebbero raggiungere nemmeno lontanamente questi limiti, ma lo script è pronto anche alle situazioni più complicate

Come utilizzare lo script

Se vuoi semplicemente verificare che utenti e gruppi vengano recuperati correttamente, nel foglio di lavoro clicca sul menu Test, e fai partire la funzione Recupera utenti…, quindi controlla nei rispettivi fogli che gli elenchi di utenti e gruppi si presentino come ti aspetti.

Se vuoi far partire la funzione principale per eliminare i vecchi gruppi dai contatti di tutti gli utenti:

  • apri l’editor di Apps Script (dal foglio scegli in menu Strumenti > Editor di script; se hai già la versione nuova del menu di Google Fogli, potresti trovarlo invece nel menu Estensioni > Apps Script)
  • sulla destra selezione il file execution_schema.gs
  • in alto vedi le voci Esegui, Debug e un menu a tendina da cui puoi scegliere la funzione da avviare: controlla che sia selezionata la funzione longSchema – se non lo è sceglila
  • selezionata la funzione giusta, clicca su Esegui: la funzione partirà, e nella parte bassa dello schermo vedrai il log progressivo delle operazioni
  • importante: durante la funzione non fare modifiche allo script, e non cliccare su nient’altro nell’editor, pena l’interruzione dell’esecuzione (puoi cambiare scheda o aprirne una nuova e lavorare là, ma non fare nulla nella scheda dell’editor)
  • l’esecuzione dura circa 25 minuti al massimo, al termine del log vedrai se al momento dell’interruzione tutte le operazioni sono state eseguite, o se invece la funzione è stata sospesa
  • se è stata sospesa, un attivatore farà riprendere la funzione automaticamente entro un’ora (potrebbe essere dopo qualche minuto o dopo quasi tutta l’ora); se ancora al termine della seconda esecuzione le operazioni non sono terminate, la funzione verrà ripresa dopo un’ora esatta per tutte le volte necessarie al completamento
  • quando l’ultima esecuzione avrà terminato le operazioni, verrà indicato nel log; finchè non viene raggiunto questo punto, non lanciare manualmente nessuna esecuzione della funzione, altrimenti le procedure si accavalleranno creando parecchia confusione…
  • puoi recuperare i log delle esecuzioni precedenti dall’editor di Apps Script; nella colonna più a sinistra clicca su Esecuzioni, e scegli l’esecuzione che vuoi controllare

Cosa controllare

I log durante l’esecuzione. Segnala se vengono riportati errori o situazioni anomale, o interruzioni improvvise. In ogni caso, copia l’errore preciso o il messaggio e riportali.

L’avvenuta cancellazione dei gruppi con i nomi precedenti. Puoi chiedere ad altri utenti di verificare, prima e dopo l’esecuzione dello script. Puoi anche ripetere la procedura – magari a distanza di un giorno dalla conclusione del ciclo precedente. Ai passaggi successivi i gruppi trovati ed eliminati dovrebbero essere pochissimi. Non zero, in quanto ad ogni nuova interazione degli utenti verranno nuovamente memorizzati gruppi nei contatti, ma il loro numero a distanza di pochi giorni dovrebbe essere molto esiguo.

Se la funzione è stata sospesa, verifica che nell’editor, cliccando a sinistra su Attivatori, sia presente un attivatore (non modificarlo, controlla solo che ci sia). Se invece la funzione è stata conclusa, in quella sezione non dovresti vedere più attivatori (vengono rimossi automaticamente dalla funzione solo al termine ultimo). Se le cose stanno diversamente, segnalalo.

Al momento lo script elimina tutti i gruppi del dominio dai contatti degli utenti. Questo non fa danni se la condivisione dei contatti da Directory è attivata, come suggerito sopra. Se lo è infatti, gli utenti vedranno sempre in autocompletamento (quando iniziano a digitare il nome o l’indirizzo del gruppo) tutti i gruppi del dominio, indipendentemente dal fatto che siano stati cancellati. La cancellazione invece previene che vengano visualizzati i vecchi nomi memorizzati tra i Contatti.

Se vuoi che vengano eliminati solo i gruppi classi, e non tutti i gruppi, lo scenario si complica. Bisogna prima trovare il modo di identificare i gruppi classe, e modificare lo script di conseguenza. Puoi eventualmente scrivere nei commenti e vediamo.

La possibilità di far utilizzare l’app ai singoli utenti è in fase di costruzione. La implementerò più avanti se avrà senso – se questo metodo globale dovesse essere veloce e di facile gestione, potrebbe tranquillamente sopperire all’intervento dei singoli utenti.

This error message is only visible to WordPress admins

Error: No feed found.

Please go to the Instagram Feed settings page to create a feed.