Archivi categoria: DOCUMENTAZIONE

La categoria contiene tutta la documentazione disponibile per la consultazione

MOBILE JOOMLA – CREARE LA VERSIONE MOBILE DEL SITO

In questo articolo vedremo un plugin di joomla, molto interessante, che consente con poco sforzo di realizzare una versione del proprio sito per dispositivi mobili. Il plugin in questione si chiama Mobile Joomla ed è disponibile a questo indirizzo previa registrazione.

Il plugin si installa tramite il modulo di upload nella console di amministrazione di Joomla. Una volta installata è sufficiente attivarlo e fare la nostra prima prova di accesso con il nostro smartphone per vedere il nuovo layout.

Per chi fosse già soddisfatto il lavoro termina qui, ma il plugin presenta varie opzioni con cui personalizzare ulteriormente il nostro sito.

Nel momento in cui scrivo la versione consente di gestire fino a 4 profili diversi per altrettanti layout:

  • smartphone
  • iphone
  • wap
  • imode

Per ogni profilo possiamo stabilire un template e le regole per la gestione del layout. Inoltre possiamo anche stabilire delle redirect in base allo smartphone collegato. La logica viene eseguita in base alla useragent del browser, pertanto potete testare il comportamento sul pc usando un plugin che consente di cambiare la useragent del browser. Chrome mette a disposizione tale funzione tra gli strumenti, mentre Firefox richiede un plugin user Agent Switcher, disponibile qui.

Dalla console di Joomla potete modificare i template che Mobile Joomla ha installato in automatico:

  • mobile_imode
  • mobile_iphone
  • mobile_smartphone
  • mobile_wap
Per ognuno di questi potete cambiare il css in modo da rendere il layout coerente con la versione standard del sito.
Buona sperimentazione.

CHRONOCONNECTIVITY – TUTORIAL 1 – CREARE UN REPORT

In questo articolo vedremo l’utilizzo di un altro interessante prodotto per Joomla, ovvero Chronoconnectivity, un componente realizzato dagli stessi autori di Chronoform, che consente di estrarre report da una tabella del nostro database.

Per prima cosa installiamo il nostro componente dal sito, scaricandolo dal link.

Una volta installato sarà disponibile la voce Chrono Connectivity nel menù Componenti. Selezioniamo tale voce e accediamo alla sezione Management dove saranno disponibili i report creati e le funzioni per la loro gestione.

Creiamo un nuovo report. Il sistema carica un sistema a scheda dove è possibile configurare tutti gli aspetti del nostro report. Sono presenti le schede:

  • General
  • FrontEnd Settings
  • Admin Settings
  • Legend
  • Auto generated

La scheda General è divisa a sua volta in più sezioni:

  • General Settings
  • Query Related Settings
  • Connection View Settings
  • Add/Edit/Delete Links

In General Settings possiamo inserire il nome del report che stiamo creando e la tabella del database a cui vogliamo agganciarlo.

In Query Related Settings inseriamo il codice per la gestione dei filtri da applicare alla nostra query. Il form deve essere popolato in maniera tale che restituisca una query sql che inizi con la clausola WHERE. E’ possibile avvalersi di php ottenendo qualcosa del genere:

E’ possibile applicare l’order specificando i campi della tabella separati da ,

In Connection View Settings costruiamo l’aspetto grafico del report. Nella sezione Header definiamo l’intestazione del nostro report in html, è il posto ideale dove aggiungere la sezione filtri. Nella sezione Body definiamo il body del report, questo frammento di codice verrà ripetuto per ogni record della tabella estratto. Con la sintassi {nome_colonna} all’interno della sezione Body possiamo scegliere quale colonna della tabella mostrare. Nella sezione Footer definiamo la chiusura del report, è il posto ideale dove mettere i pulsanti di paginazione.

E’ possibile avvalersi di alcuni tag che chiameranno delle funzioni specifiche del report. I tag supportati sono:

  • {pagination} –> attiva i pulsanti della paginazione (disponibile per la sezione header e footer)
  • {edit_record} –> attiva il link per la modifica del record (disponibile per la sezione body)
  • {delete_record} –> attiva il link per la cancellazione del record  (disponibile per la sezione body)
  • {add_record} –> attiva il link per l’inserimento di un nuovo record  (disponibile per la sezione header e footer)
E’ possibile definire l’aspetto grafico dei link edit_record, delete_record e new_record, inserendo dei frammenti html nei campi opportuni.

Nella scheda FrontEnd Settings stabiliamo quale form va invocato per la modifica del record e le regole di visualizzazione del report e dei suoi pulsanti di gestione del report.

Nella scheda Admin Settings stabiliamo i campi che devono essere visualizzati sul backend, tramite la funzione ShowData disponibile nella sezione Management.

Questo è tutto. Adesso dovreste essere in grado di creare form, collegarli a tabelle del database ed estrarre i dati in base alle vostre esigenze sia sul frontend che sul backend.

Alla prossima

CHRONOFORM – TUTORIAL 5 – CREARE FORM DI REGISTRAZIONE PER JOOMLA

Una funzione molto interessante di Chronoform è quella che permette di estendere il modulo di registrazione utente di Joomla.

Si tratta di definire un nuovo form che contenga i campi del form di registrazione di Joomla più i campi fondamentali per il nostro dominio applicativo.In questo form definiamo i campi necessari per Joomla :

  • nome
  • username
  • password
  • retype password
  • email
e aggiungiamo tutti i campi tipici del nostro dominio.
Una volta creato il form e connesso alla tabella del database, colleghiamo il form al processo di registrazione di Joomla.
Il collegamento viene fatto in due fasi:
  • Nella sezione modifica del form accediamo alla scheda plugin e abilitiamo il plugin Joomla Registration
  • Nella sezione Form Management selezioniamo il singolo form tramite la checkbox e accediamo alla funzione Joomla Registration. Il sistema mostrerà un form in cui inserire la corrispondenza tra i campi della tabella utenti di Joomla e quelli del nostro form.
A questo punto possiamo verificare il corretto funzionamento del form. Se abbiamo configurato tutto bene al submit del form vedremo popolarsi sia la tabella utenti di joomla che quella del nostro form.
Ultima cosa che resta da fare è modificare il link del modulo di registrazione affinchè carichi il nostro form e non quello tipico di Joomla.
Per fare questo dobbiamo modificare il file
components/com_user/views/register/tmpl/default.php
e introdurre la redirect verso la nostra pagina agendo sui sorgenti in questo modo
defined(‘_JEXEC’) or die(‘Restricted access’);
$mainframe->redirect(‘register.html’);
Buon lavoro

CHRONOFORM – TUTORIAL 4 – UPLOAD FILE

Nell’articolo di oggi vedremo come gestire l’upload di file con Chronoform. Con questa funzione potremmo aggiungere al nostro form dei campi input di tipo file e con facilità configurare tutti i controlli tipici di un capo di tipo file.

Come primo step carichiamo il form manager di Chronoform, selezioniamo il nostro form e accediamo in modalità modifica tramite il Wizard.

Nel wizard selezionamo un componente di tipo FileUpload e con la funzione di drag and drop la aggiungiamo al nostro form. A questo punto configuriamo le properties dell’oggetto e in particolare configuriamo:

  • Allowed Extensions
  • Maximum File Size in KB
E’ necessario configurare queste variabili, in assenza di valori Chronoform impedirà il caricamento del file.
Modificate le variabili e salvato il form, torniamo al form manager, selezioniamo nuovamente il form tramite il pulsante modifica.
Compare il sistema a scheda e selezionamo la scheda File Uploads.
In questa scheda completiamo la configurazione del form. Possiamo stabilire:
  • il path dove i file verranno salvati (Full upload Path)
  • il formato del nome con cui verranno salvati (FileName format)
  • il messaggio di errore per limite dimensione superiore non rispettato (Size Exceeded error)
  • il messaggio di errore per estensione non supportata (Type not allowed error)
  • il messaggio di errore per limite dimensione inferiore non rispettato (Size less error)
A questo punto potete testare il vostro form e verificare il corretto salvataggio nel file system del file caricato secondo le vostre regole.

CHRONOFORM – TUTORIAL 3 – NOTIFICA VIA EMAIL

Può essere utile integrare nel nostro form un sistema di notifica via email, notifica via email che può essere inviata al gestore del sito qualora sia necessario una sua approvazione o all’utente stesso come riepilogo di quanto inserito.

Per fare questo Chronoform ci mette a disposizione una comodo sezione in cui poter definire le caratteristiche della email che vogliamo spedire.

Come primo step carichiamo il form manager di Chronoform, selezioniamo il nostro form e accediamo in modalità modifica.

Il sistema carica il sistema a schede a noi noto e in particolare ci soffermiamo sulle schede General, Setup Email e Emails Template:

  • Nella scheda General ci limitiamo ad abilitare la combo Email the results ?
  • Nella scheda Setup Email creiamo le email da inviare al submit dell’utente
  • Nella scheda Emails Template definiamo il body di ciascuna email definita
E’ possibile definire più email da inoltrare tramite i pulsanti disponibili e per ogni email dobbiamo inserire i parametri essenziali altrimenti la notifica resta disabilitata. I parametri obbligatori sono:
  • To
  • Subject
  • From Name
  • From Email
I campi possono essere recuperati dal form stesso e per far ciò occorre usare nel form i campi definiti come Dynamic.
Se sono aggiunti tutti i campi necessari e se sono popolati correttamente nella sezione email properties viene abilitato il campo Enabled.
A questo punto possiamo salvare e ritornare al form manager. Vedremo nella colonna email il numero di email abilitate e quelle disabilitate.
Se avete operato correttamente troverete enabled:1 e disabled:0.
Andiamo al nostro form, proviamo il submit e riceveremo subito la mail con le caratteristiche scelte.

Di default Chronoform definisce per ogni email un body identifico al form creato. E’ possibile cambiare il testo delle mail agendo sulla scheda Email Template, dove troveremo tante sezioni quante sono le email definite. Per ciascuna mail sarà possibile definire il body della mail tramite un comodo Editor WYSIWYG. I campi dinamici, recuperati dal form, vengono passati nel formato {nomeCampo}.

Buona sperimentazione.

CHRONOFORM – TUTORIAL 2 – CONNETTERE IL FORM AL DATABASE

In questo articolo vedremo come agganciare il form creato nell’articolo precedente ad una tabella del database. Una volta creato il form abbiamo due possibilità:

  • creare una tabella e agganciarla al form creato
  • agganciare il form ad una tabella preesistente.

Vediamo il primo caso. Accediamo alla sezione Forms Management, selezioniamo il nostro form e usiamo la funzione disponibile in alto Create Table. Chronoform aprirà un form per la creazione di una tabella con alcuni campi di audit consigliati. In questo form sarà possibile scegliere il nome della tabella e quali campi del form creato mappare sulla tabella.

Creata la tabella torniamo al nostro form e accediamo alla sezione DB Connection. In questa sezione abilitiamo il data storage e scegliamo dall’elenco la tabella appena creta. A questo punto, una volta pubblicato il form, ogni evento di submit si tradurrà in una insert nella nostra tabella.

Vediamo il secondo caso. Stavolta la tabella è già disponibile e quindi non utilizzeremo la procedura di creazione guidata e relativo mapping. Selezioniamo nuovamente il nostro form e accediamo alla sezione DB Connection. In questa sezione abilitiamo il data storage e scegliamo una tabella preesistente con una sua struttura dati precisa. In questo cosa dobbiamo avere l’accortezza che le property del form abbiamo lo stesso nome dei campi della tabella, altrimenti il rischio è quello di generare tanti record vuoti.

CHRONOFORM – TUTORIAL 1 – CREARE UN FORM

Inizia una serie di articoli dedicati a Joomla, il celebre CMS scritto in php, utile per chiunque voglia realizzare un sito web senza avere nozioni di HTML e linguaggi server side. L’uso di Joomla è abbastanza intuitivo, e la documentazione a disposizione è precisa ed esauriente, pertanto non penso di scrivere articoli specifici su questa tecnologia. Mi dedicherò ai vari plugin sviluppati per Joomla che permettono di estendere le funzionalità base di Joomla.

Nel momento in cui scrivo sono presenti le versioni:

  • 1.5
  • 1.6 (versione di transizione, non più supportata)
  • 1.7
La più grande differenza tra le versioni è quella relativa la gestione delle utente, con la 1.7 si sono superati i limiti della 1.5 e l’utente può gestire al meglio le ACL, senza alcuna limitazione.
Il componente analizzato in questo articolo è Chronoform, prodotto dalla ChronoEngine, che consente la creazione di form da inserire nel nostro sito.
Il comportamento base di Joomla prevede il sito come una serie di articoli organizzati in sezioni e categorie, articoli che vengono realizzato tramite il comodo editor messo a disposizione. La realizzazione di un form per l’invio di dati richiede l’uso di un componente esterno e la scelta è caduta su Chronoform, altre valide alternative sono analizzabile sul sito ufficiale delle estensioni.
Attualmente sono disponibili due versioni di Chronoform, la 3 e la 4. La versione 4 è una versione riscritta della 3, che aggiunge nuove funzionalità e la gestione degli eventi al potente wizard messo a disposizione. La versione 4 ha una dipendenza da mootools 1.2, quindi se per qualche motivo non potete soddisfare tale dipendenza ripiegate sulla versione 3.
In questo articolo vediamo la creazione di un form con la versione 3.
Una volta installato, seleziona il Wizard del menù, seguendo il percorso Componente/Chronoform/Form Wizard.
Il sistema carica il form e abbiamo la possibilità di costrutire il form aggiungendo tramite drag&drop i componenti messi a disposizione nel menù laterale.
Aggiungiamo i componenti desiderati e concludiamo inserente il pulsante di Submit che ogni form deve avere.
A questo punto salviamo, specificando il nome del form, e il modulo caricherà l’elenco dei form disponibili.
Il form non è ancora pubblicato, ma è possibile pubblicarlo tramite il pulsante messo a disposizione e verificare con il link messo ben in evidenza la sua visualizzazione.
Una volta pubblicato è possibile richiamare la pagina da menù,specificando l’opzione Chronoform e specificando il nome del form stabilito all’atto del salvataggio.

FUNCTION POINT TUTORIAL – 7 – DOCUMENTARE IL PUNTEGGIO

In questo articolo vedremo gli step da seguire per la produzione della documentazione a corredo del conteggio dei function point.

La documentazione deve prevedere le seguenti informazioni:

  1. scopo e tipo di conteggio
  2. scopo del conteggio e confini dell’applicazione
  3. la dta del conteggio
  4. la lista di tutte le data function individuate, specificando il tipo (ILF o ELF), la relativa complessità e gli FP assegnati
  5. la lista di tutte le transaction function individuate, specificando il tipo (EI, EQ o EO), la relativa complessità e gli FP assegnati
  6. il risultato del conteggio
  7. assunzioni fatte e issue risolte.

Come informazioni aggiuntive è possibile prevedere i seguenti step :

  1. identificazione della documentazione di riferimento
  2. identificazione dei partecipanti, relativi ruoli e qualifiche
  3. per ogni data function viene specificato il numero dei DET e RET
  4. per ogni transaction function viene specificato il numero di DET e FTR
  5. vengono specificate le relazioni tra data function e transaction function
  6. vengono specificate le relazioni tra data function e documentazione di riferimento
  7. vengono specificate le relazioni tra transaction function e documentazione di riferimento

Il livello di dettaglio sarà concordato di volta in volta con il cliente.

Infine il risultato dell’elaborazione sarà indicato nel formato

S FP (IFPUG–IS)

dove S è il numero individuato, FP è l’unità di misura e IS indica lo standard di riferimento.

Esempio 250 FP (IFPUG-ISO/IEC 20926:200x)

FUNCTION POINT TUTORIAL – 6 – CALCOLO FP

Definito il grado di complessità delle data function e delle transaction function è possibile effettuare il calcolo del punteggio dei function point.

La formula da utilizzare dipende dallo scopo del conteggio. Vediamo quali sono le formule da applicare in base ai vari casi.

  • Sviluppo di un progetto

DFP = ADD + CFP

dove ADD è la dimensione della funzioni da rilasciare e CFP indica la dimensione delle funzioni di conversioni.

  • Misura di un applicativo

DFP = ADD

  • Evolutiva di un progetto

EFP = ADD + CHGA + CFP + DEL

dove ADD indica la dimensione delle nuove funzioni aggiunte, CHGA la dimensione delle funzioni che hanno subito una modifica, CFP indica la dimensione delle funzioni di conversione e DEL indica la dimensioni delle funzioni da cancellare.

  • Misura dell’applicativo a seguito di un’evolutiva

AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)

dove AFPA indica la dimensione del progetto prima dell’evolutiva, AFPB è la dimensione del progetto dopo l’evolutiva, ADD indica la dimensione delle nuove funzioni, CHGA è la dimensione delle funzioni di conversioni prima dell’evolutiva, CHGB è la dimensioni delle funzioni di conversione dopo l’evolutiva e DEL è la dimensione delle funzioni cancellata con l’evolutiva.

FUNCTION POINT TUTORIAL – 5 – MISURARE LE TRANSACTION FUNCTION

Nell’articolo di oggi vedremo le fasi per la misurazione delle transaction function. Le transaction function sono i processi elementari che consentono all’utente di gestire i dati. Il processo di misurazione si svolge attraverso le seguenti fasi:

  • identificazione dei processi elementari secondo specifica
  • classificazione dei processi elementari individuati in External Input (EI), External Output (EO) o External Inquiry (EQ) secondo specifica
  • conteggio dei File Typed References per ogni processo individuato
  • conteggio dei Data Element Types per ogni processo individuato
  • individuazione della complessità funzionale di ogni processo
  • individuazione dei function point per ogni processo

Come prima azione occorre scomporre i requisiti funzionali in processi elementari. Per processo elementare si intende una transazione facilmente individuabile dall’utente e che lascia l’applicazione in uno stato consistente. Ad esempio un requisito funzionale relativo alla gestione di una rubrica è scomponibile dei processi elementari di creazione, cancellazione, modifica e lettura di un contatto.

Individuati i processi occorre catalogarli nelle 3 tipologia sopra menzionate.

  • Un EI è un processo elementare che riceve dati e informazioni di controllo dall’esterno e che modifica un ILF o cambia lo stato corrente della nostra applicazione.
  • Un EO è un processo elementare che mostra dati all’utente eseguendo delle elaborazioni, che spaziano dal calcolo di formule all’aggiornamento di ILF o dello stato corrente della nostra applicazione.
  • UN EQ è un processo elementare che mostra dati all’utente senza essere catalogabile come EO.

La seguente tabelle riassume le relazioni tra i processi elementari e lo scopo del processo:

Funzione EI EO EQ
alterare il comportamento dell’applicazione SI Possibile NO
aggiornare uno o più ILF SI Possibile NO
presentare dati all’utente Possibile SI SI

La specifica relaziona i processi elementari alle elaborazioni possibili:

Processo EI EO EQ
Validazione di Dati opzionale opzionale opzionale
Calcolo Matematico di valori opzionale obbligatorio per caratterizzare il processo non deve essere presente
Conversione di Valori opzionale opzionale opzionale
Selezione di Dati tramite filtri di ricerca opzionale opzionale opzionale
Analisi di condizioni opzionale opzionale opzionale
Aggiornamento di ILF obbligatorio per  caratterizzare il processo obbligatorio per caratterizzare il processo non deve essere presente
Referenziamento di ILF/ELF opzionale opzionale obbligatorio
Recupero di dati o informazioni di controlllo opzionale opzionale obbligatorio
creazione di dati derivati opzionale obbligatorio per caratterizzare il processo non deve essere presente
Comportamento dell’applicazione alterato obbligatorio per caratterizzare il processo obbligatorio per caratterizzare il processo non deve essere presente
Presentazione di Dati opzionale obbligatorio obbligatorio
Gestione dei Dati inseriti dall’utente obbligatorio opzionale opzionale
Ordinamento di dati opzionale opzionale opzionale

Si conta un FTR per ogni data function individuata coinvolta nel processo

Definiti i FTR si contano i DET secondo le seguenti regole:

  • analisi di ciò che attraversa i confini dell’applicativo
  • si conta un DET per ogni attributo riconoscibile dall’utente  che attraversa i confini dell’applicativo
  • si conta un solo DET per la capacità del processo di inviare messaggi di risposta all’utente
  • si conta un solo DET per la capacità di iniziare una determinata azione, anche se sono possibili diversi modi
  • non si considerano nel conteggio gli attributi usati dai processi ma che non attraversano i confini dell’applicativo, nè i pulsanti di navigazione o gli attributi tipici di una stampa come i numeri di pagina

Definiti FTR e DET è possibile stabilire la complessità delle transaction function tramite le seguenti tabelle:

Complessità degli EI

DETs
1-4 5-15 >15
FTRs 0-1 Bassa Bassa Media
2 Bassa Media Alta
>2 Media Alta Alta

Complessità degli EO/EQ

DETs
1-5 6-19 >19
FTRs 0-1 Bassa Bassa Media
2-3 Bassa Media Alta
>3 Media Alta Alta

Individuata la complessità è possibile assegnare un punteggio alla singola transaction function secondo questa tabella

TIPO
EI EO EQ
Complessità Bassa 3 4 3
Media 4 5 4
Alta 6 7 6