Switch-to
Introduzione
Lo Switch-to è una funzionalità che permette ad un utente wordpress di "emulare i panni" di un altro utente wordpress. Tale funzionalità è disponibile grazie alla presenza e installazione del plugin "User Switching".
Quando e dove utilizzare la funzionalità Switch-to
Lo Switch-to compare nella piattaforma in tre punti:
- Admin-bar
Lato wp-admin è possibile attivare la admin-bar (in alto nell'immagine) e li comparirà la funzionalità dello Switch-to con la possibilità di cambiare ad un utente PER RUOLO, quindi selezionando il ruolo, lo Switch-to ti assegnerà il primo utente disponibile con quel ruolo.
- Users-page
Nella pagina degli utenti a back-office: wp-admin → menu laterale → Users ( posizionando il mouse sopra l'Username degli utenti)

- Flusso Campagna (edit)
Nella edit campagna (wp-admin→AppQuality→Campaigns) in ogni campagna c'è la scheda User (in alto a destra), come si vede dall'immagine sottostante in questa scheda è possibile scegliere l'utente e usare lo Switch-to per emularlo

Utilizzo Switch-to e Switch-back
Una volta utilizzato lo Switch-to il plugin setta i cokies dell'utente designato.
Logiche Custom
Sulla nostra piattaforma la logica dello Switch-to è stata modficata per necessità di permessi e di ruoli. Lo stato dell'arte di tale logica consta nella possibilità di utilizzare lo Switch-to solo su gli utenti che possiedono un ruolo con permessi minori o uguali al proprio. Il controllo avviene tramite il confronto del livello di ogni utente. Se l'utente che vuole utilizzare lo Switch-to su un altro utente che ha un ruolo con un livello superiore o uguale a quello dell'utente del quale vuole "vestire i panni" potrà utilizzare lo Switch-to, diversamente non avrà la possibilità di cambiare (switch) utente.
Vediamo una tabella esemplificativa con dei ruoli e dei livelli assegnati:
| + | Utente | Ruolo | Livello | Permessi Assegnati |
|---|---|---|---|---|
| Mario Rossi | administrator | level_10 | (ALL), | |
| Jhon Doe | quality_leader | level_9 | ||
| Mario Rossi | community_manager | level_8 | ||
| Jhon Doe | tester_lead | level_2 | ||
| Mario Rossi | tester_coach | level_2 | ||
| Jhon Doe | tester_recruiter | level_2 | ||
| Mario Rossi | tester_assistant | level_2 | ||
| Jhon Doe | tester_writer | level_2 | ||
| Mario Rossi | ux_researcher | level_2 | ||
| Jhon Doe | customer | level_1 | ||
| Mario Rossi | author | level_1 | ||
| Jhon Doe | subscriber | level_1 |
Esempio: Il quality_leader può utilizzare lo Switch-to sul community_manager ma non è possibile il contrario, in quanto il livello del quality_leader è maggiore o uguale al livello del community_manager. quality_leader ( level_9 ) ≥ community_manager ( level_8 ).
"I livelli e i permessi assegnati ai ruoli nella tabella sono a titolo esemplificativo in quanto nel tempo tali logiche potrebbero cambiare."
P.S. La gestione dei permessi con i loro usi e significati sono ampiamente descritti nella Guida ai nuovi Permessi