Joomla 3.5 form chronoforms visibile solo a gruppo di utenti

Visualizzare un form realizzato con chronoform V5 o accedere ad un form? In effetti non sono la medesima cosa.

Chronoforms V5, visualizzare un form solo dopo aver effettuato il login

Visualizzare un form presume solo la possibilità di vederlo da qualche parte del sito, mentre potervi accedere per compilarne i campi, è altra cosa. Un form realizzato con chronoforms ha un nome, ad esempio: "il_mio_form". Questo sarà così accessibile ad un indirizzo tipo www.miosito.com//index.php?option=com_chronoforms5&chronoform=il_mio_form , quindi va da se che nascondere il form sotto una voce di menù accessibile ad un gruppo utenti è inutile e superfluo.

Vediamo in questa guida come operare in modo da far accedere al form realizzato con chronoform V5 solo dopo aver effettuato il login.

Un form non è altro che una maschera dove inserire dei dati, questi dati successivamente possono essere inviati per email oppure memorizzati in un database. Un form può essere utilizzato per la richiesta di informazioni di un prodotto, una richiesta di aiuto generica oppure una richiesta assistita dove possiamo inserire una serie di informazioni specifiche per elaborare un certo tipo di richiesta.

Ci sono form però che devono avere un livello di accesso ristretto ad un gruppo di utenti, immaginiamo una serie di operatori "data-entry" che inseriranno dati dettati da altre persone, oppure letti su foglio.

Di recente per un cliente ho elaborato un form per l'inserimento di ordini on-line da parte dei loro agenti/rappresentanti, la costruzione di questo form, abbastanza complesso devo dire, aveva fra le "desiderate" del cliente la possibilità di un area specifica e "sicura" per l'inserimento di ordini da parte di un gruppo di utenti specifico.

Chronoforms è un grande componente, ma non non si può dire lo stesso della sua documentazione, sembra fatto per alleggerire il compito dei webmaster, ma di fatto per cose che vanno oltre la normale creazione di form, la documentazione è latente e si deve investire molto tempo nella ricerca di una possibile soluzione. Ho contato circa 200 tutorial per la costruzione di un form basilare, mentre per forms avanzati anche di poco, non si trova niente. Anche il forum di supporto sembra uno di quei club esclusivi dove ad una domanda si risponde molto spesso con un link che contiene informazioni generiche: spesso gli utenti sono alle prime armi ed hanno bisogno di informazioni un pò più dettagliate, cosa che i moderatori di quel forum sembrano ignorare. Non aiuta nemmeno il fatto che il forum è in inglese, quell'inglese preciso ed ostico anche ad un americano e che nemmeno google in molti casi riesce a tradurre senza alterare il senso.

Anche il forum di casa nostra, quello di joomla.it e che dedica una sezione ai forms, non risolve le problematiche più avanzate; e anche qui purtroppo ho l'impressione che quei pochi utenti che hanno una buona padronanza del componente sembrano anche loro far parte di quel club privato citato pocanzi, rilasciando informazioni spesso parziali o fuorvianti o forse per pochi iniziati, chissà.

Cercando in lungo ed il largo per il web, in inglese e anche in altre lingue, la possibilità di visualizzare questo benedetto form solamente ad uno specifico gruppo di utenti, trovo una serie di script php che non funzionano, forse perchè scritti per versioni di joomla precedenti alla 3 o addirittura per versioni di chronoform precedenti alla V5. Nulla nemmeno su chronoengine.com, poi per caso mi imbatto in un post dove un immagine allegata mi apre una possibilità.

Fra gli elementi disponibili nella zona SETUP di chronoforms troviamo "Authenticator", "piazzato" in "On load" e trascinato dalla sezione "security", questo elemento serve proprio per assolvere alla mia richiesta, vediamo come usarlo:

chronoforms authenticator, visualizzare un form solo ad utenti e gruppi specifici

L'elemento è molto semplice da usare, lo inseriremo in "On load" al posto dove tradizionalmente inseriremo il classico "HTML (Render Form)" l'elemento che permette il render o visualizzazione del form (potremmo dire che di fatto ci RENDE il form), al suo interno vi troveremo i gruppi di utenti joomla, dove indicheremo quali saranno i gruppi autorizzati a visualizzare (ed usare) il form, scegliendo semplicemente fra "No set", "Allowed", "Denied" ed "Inherited" (in italiano: "Non impostato", "Consentito", "Negato" e "Ereditato").

Quindi non ho fatto altro che impostare "Allowed" (Consentito) per il mio gruppo di utenti e per il gruppo "superadmin" in modo che anche io (Super admin) potessi avervi accesso.

L'elemento "Authenticator" contiene due zone, una verde "On success" ed una rossa "On fail"; nella zona "On success" inseriremo "HTML (Render Form)" in maniera tale che in caso l'utente sia loggato ed appartenente al gruppo impostato nelle impostazioni dell'elemento "Authenticator", possa accedere e visualizzare il form, altresì se l'utente non dovesse essere registrato oppure appartenente ad un altro gruppo, visualizzerebbe un messaggio di avviso scritto in un elemento "Display Message" ed inserito nella zona rossa, ovvero in "On fails". Il messaggio potrebbe dire "Non sei autorizzato ad accedere alla risorsa" o qualsiasi altra cosa ritenete più opportuna.

Ho testato velocemente questa funzionalità con un semplice form di contatto. Nell'immagine potrete vedere esattamente la gerarchia degli elementi.

Spero che questa guida vi sia stata di aiuto, e se ritenete di potermi ringraziare offrendomi un caffè cliccate pure nel pulsante sottostante.

offrimi un caffè