Consulenza informatica
Fornisco consulenze per realizzazione siti web aziendali e per software business a Udine, Pordenone, Monfalcone, Ronchi dei Legionari, Manzanese, Venezia, Treviso, Padova, Milano.
Uso e garantisco per una squadra di professionisti esperti in sistemi informativi, email, registrazione domini ed hosting, web marketing, progettazione grafica, realizzazione siti aziendali e promozione.
Per contattarmi clicca qui
Stefano Chermaz
Sito web: E-mail: Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
L'open source è software gratis?
Entriamo qui in un campo difficile, da affrontare con serietà entrando nel merito di sfacettature non sempre definibili. Il software open source è "nato" nel 1985, con la fondazione da parte di Richard Stallmann della "Free Software Foundation" ed il primo progetto importante fu GNU (GNU's not UNIX). Questo progetto non ha avuto rilevanza tecnica tale da portarlo al successo universale, però è stato il primo esempio di "scontro sociale" nel software tra il software proprietario e l'open source. Adesso GNU si ricorda principalmente per il tipo di licenza "liberale" GPL (GNU General Public Licence) con il cui schema vengono ancora oggi rilasciati moltissimi software liberi
All'inizio del 1991 (per la cronaca, quando io ho iniziato a lavorare in questo settore) Linus Torvalds ha iniziato a lavorare su un sistema unix per i processori con architettura 386, che si affacciavano sul mercato come processori evoluti per i primi personal computer, rilasciando dapprima il kernel, che è la parte del sistema operativo che svolge le funzioni più importanti e che spesso noi programmatori tendiamo a dimenticare, quali la gestione della memoria, delle risorse disponibili e l'assegnazione degli spazi di esecuzione ai processi. Bene, LINUX è diventato ed è tuttora un sistema operativo di classe Enterprise, in certe distribuzioni completamente opensource, unico concorrente allo strapotere di Microsoft.
Il fatto che stona in questo discorso, peraltro bello da un punto di vista informatico, è che ovviamente finchè si gioca, tutto può rimanere gratis, ma, con lo strapotere di certe aziende, pensate veramente che Davide avrebbe potuto sconfiggere Golia? Proprio in questi ultimi anni abbiamo visto come le acquisizioni hanno fatto sparire quei pochi esempi reali di software open source, quali MySql (database splendido e non secondo a nessuno per potenza di elaborazione) acquisito da SUN che, guarda caso, è anche proprietaria di Oracle, che MySql stava insidiando in termini di volumi.
In questo modo, MySql ha rilasciato pacchetti di supporto a pagamento, per fornire gli strumenti interattivi necessari al mantenimento di database in ambienti Mission Critical, che, nel caso di software proprietario, vengono normalmente inclusi nel pacchetto venduto. (confronta MySql Enterprise con la Management Console di Microsoft) Ma la parte che a me fa più pensare è la necessità di fornire pacchetti di supporto per mascherare invece un modello di licenza assolutamente commerciale. Esistono software eccellenti, che avrebbero mercato anche con un sistema di licenza commerciale, che invece, sotto la falsa bandiera dell'open source cercano successo vendendo supporto.
Ora, a me è capitato di lavorare con uno di questi. Vi assicuro che il supporto non era facoltativo, ma obbligatorio, (e parliamo di 15/30000 euro anno, a seconda del numero di processori del server... chissà perchè, a me sembra un modello già sentito nelle licenze commerciali, mah...) in quanto l'assoluta mancanza di documentazione non consentiva di effettuare neanche le operazioni più elementari senza sentire qualcuno via mail o skype (siamo nel mondo Java e dei BPMS...)
Ed è proprio la carenza di documentazione che a me fa pensare. Normalmente, quando i progetti sono ben strutturati, vi può essere documentazione scadente, ma non assenza, o ridotta a semplici printscreen delle maschere, con spiegazione raffazzonata dei valori dei campi. Una documentazione così fatta indica che non c'è stato un minimo sforzo di progettazione, e quindi che il progetto, se portato a livello Enterprise, è quantomeno rischioso.
Bene, per oggi mi fermo qui, continuerò in futuro con il solito tema: meglio Microsoft o Linux?
Estendere Joomla
Moltissimi siti "powered by joomla", come questo che state leggendo, usano delle estensioni di joomla per aggiungere funzionalità a questo cms. Ci sono migliaia di estensioni scaricabili all'indirizzo http://extensions.joomla.org, moltissime gratuite, altre a pagamento.
Il mondo delle estensioni ruota intorno a tre termini:
- componenti
- moduli
- plugins
I componenti sono le estensioni più complesse. Sono una specie di mini-applicazione che normalmente vengono utilizzate nel "mainbody", che sarebbe la parte centrale più grande della pagina. Ad esempio, il gestore dei contenuti, com_content, è il componente che consente di pubblicare gli articoli sul proprio sito. Altri esempi possono essere un forum, un blog, oppure il componente che uso io, per consentirvi di commentare gli articoli, che si chiama K2.
Altre estensioni importantissime, che si usano per pubblicare dei contenuti all'interno delle pagine costruite con Joomla sono i moduli. Questi normalmente compaiono intorno al mainbody, al contenuto principale. Spesso un modulo "lavora" insieme al componente principale e cioè serve per pubblicare delle "viste" sui dati gestiti dal componente stesso. Pensiamo ad esempio ad un componente che gestisca degli annunci. Potremmo sviluppare dei moduli che accedano ai dati gestiti tramite il componente per visualizzare gli ultimi annunci, quelli paganti, oppure quelli più visitati. I moduli possono essere pubblicati su tutte le pagine oppure su pagine a scelta esistenti nel menù.
Ultima estensione che andiamo ad analizzare sono i plugin. Un plugin è un pezzo di codice che si puòusare in un sito e che viene eseguito quando la pagina viene caricata. Un esempio può essere l'email cloaking plugin che nasconde gli indirizzi email tramite javascript cosicchè i bot spam non riescono a vederli. Tipicamente, i plugin sono degli "event handlers" e cioè dei pezzi di codice che vengono invocati all'accadere di un certo evento. Lavorano sempre in background e possono modificare il contenuto della pagina, aggiungere funzionalità di sistema (ad esempio aggiungere provider di autenticazione), aggiungere all'interno della console di amministrazione degli editor HTML oppure consentire di modificare il contenuto inserendo dei tag particolari direttamente nel testo degli articoli.
Ma come si installa un componente? Niente di più semplice, ma per essere sicuro che non abbiate difficoltà vi pubblico questo video esplicativo. Come potrete vedere alla fine, in questo caso un unico file di installazione ha consentito di installare un componente, alcuni moduli ed alcuni plugin. Questa è una caratteristica dell'installer di joomla 1.5 che consente di effettuare installazioni multiple in una volta sola, feature che non viene usata da tutti gli sviluppatori perchè è un po' complicata da gestire, ma che consente il corretto allineamento di versione tra il componente principale e le sue estensioni (moduli, plugins)
Concetti base di CRM
Il CRM (customer relationship management) è composto dai processi che un'azienda usa per tracciare e organizzare i propri contatti con i clienti, acquisiti o potenziali. Il software CRM viene utilizzato a supporto di questi processi per migliorare i servizi offerti ai clienti o per usare le informazioni fornite dai clienti per effettuare "marketing mirato". In generale, il CRM è la propensione aziendale ad aumentare la profittabilità e la fidelizzazione della clientela con l'utilizzo di procedure e tecniche derivanti dall'applicazione estensiva di strumenti offerti dalla Information Technology (IT).
Instaurare un "rapporto personalizzato" con il singolo cliente che si interfaccia con l'azienda richiede di attivare determinati strumenti dell'IT, in particolare:
- Business Intelligence: per essere in grado di ottenere e raccogliere il maggior numero d'informazioni possibili sul cliente stesso;
- Knowledge Management: per coordinare in modo idoneo le informazioni che, tipicamente, si trovano sparse in molti archivi e vengono gestite da applicazioni diverse.
I dati raccolti vengono consolidati in un "database" aziendale per poterli utilizzare nelle interazioni dirette con la clientela e per lo sviluppo di nuove strategie di marketing.
I risultati delle analisi elaborate dai sistemi IT devono essere rapidamente disponibili nel momento in cui il cliente interagisce con l'azienda ed in modo da poter eventualmente modificare le azioni che influenzano i rapporti tra cliente e azienda.
Modello operativo
Il modello di gestione del CRM può essere assimilato ad un "ciclo chiuso" nel quale l'infrastruttura di analisi dei dati è collegata, in modo più o meno diretto, con quella di gestione delle attività ordinarie dell'azienda. Questo modello deve consentire di sfruttare in breve tempo i dati provenienti sia dalla gestione del business che dall'analisi dei dati immagazzinati. Il ciclo è composto da quattro fasi:
- Azione: si modificano delle variabili del business (es: sconti, promozioni, incentivi vari) per ottenere determinati risultati attraverso una campagna marketing o un'iniziativa commerciale;
- Monitoraggio: le variabili modificate influenzano il comportamento dei clienti e si riflettono sulle transazioni che vengono elaborate dal sistema informativo; le transazioni sono monitorate per trarre delle indicazioni immediate dell'efficacia delle iniziative attuate;
- Analisi: l'esame più approfondito dei dati consente di comprendere meglio il comportamento dei clienti; l'analisi si confronta con degli "indicatori chiave" (utili, ROS) in rapporto ad altri parametri operativi;
- Previsione: l'elaborazione di "modelli di previsione" consente di seguire i trend futuri e di prospettare scenari alternativi al modificarsi di certe variabili del sistema; la capacità previsionale segnala le variabili su cui intervenire ancora una volta per approssimarsi agli obiettivi; il ciclo quindi si chiude con la definizione delle nuove azioni da intraprendere.
La gestione di questo modello richiede una grande velocità di reazione aziendale nel percorrere le quattro fasi del ciclo e una sufficiente frequenza nel "campionamento" dei dati provenienti dal mercato. Solo così l'azienda è in grado di anticipare o cogliere con maggior precisione la nascita di tendenze utili o dannose per la propria attività.
Per soddisfare queste necessità è necessario migliorare le prestazioni dei sistemi IT e soprattutto automatizzare e velocizzare lo scambio di informazioni tra tali sistemi.
Il sistema CRM integrato
Un sistema integrato nel quale siano collegati le componenti di analisi e la modifica dei parametri operativi è complesso ed estremamente critico.
- Prestazioni: le transazioni con i clienti devono sostenere un notevole traffico con rapidi tempi di risposta. Normalmente saranno eseguite operazioni parallele di lettura e scrittura sui database o il trasferimento di grandi quantità di dati verso un "data warehouse" per le analisi successive.
- Scalabilità: se i canali di interazione con i clienti aumentano o si ampliano (apertura di un "Call-Center", attivazione di attività e-commerce, ecc.) il sistema deve essere, oltre che ad alte prestazioni, anche ampiamente scalabile.
- Disponibilità: i punti di approccio della clientela richiedono una operatività molto elevata: i requisiti del front-office devono essere, quindi, estremamente rigorosi. La disponibilità del "data warehouse" e dei processi di analisi che forniscono le informazioni aggiornate ai sistemi operativi, è anche un fattore critico.
- Integrazione: in un sistema chiuso, tutte le componenti devono integrarsi ed interagire efficacemente per garantire un flusso costante di informazioni tra sistemi di analisi e sistemi di applicazione dei risultati. La struttura, quindi, sarà certamente complessa.
CRM e Web
Lo scenario aperto dal Web nella gestione delle attività aziendali fornisce spinte innovative in direzione del CRM. Tradizionalmente le soluzioni offerte dal mercato riguardano due sottoinsiemi del problema, in ciascuno dei quali il Web è destinato a giocare un ruolo importante:
- interazioni con i clienti: moduli per gestione vendite, marketing, rapporti in tempo reale con i clienti con mezzi tradizionali (Voice Call-Center) o innovativi (Web Call-Center).
- gestione delle informazioni: applicazioni di analisi dei dati per valutazioni o azioni di marketing: anche qui il Web è in grado di fornire stimoli alla crescita di strumenti IT adeguati ai rapporti molto più dinamici e personalizzati tra azienda e clienti. Il marketing "one-to-one", ad esempio, non può prescindere da un sistema che consenta di rintracciare nel "data warehouse" e valutare in tempo reale le informazioni su un determinato cliente
Anche in questo caso, se vuoi adottare la giusta politica CRM nella tua azienda contattami.
Le strategie di CRM
Le aziende non adottano strategie CRM per automatizzare la gestione delle campagne, senza una visione chiara di cosa vogliono fare. Tutte le aziende prive di una visione di marketing innovativa ed avanzata raramente hanno margini sufficienti per adottare strategie CRM. Le strategie di CRM consentono di affrontare efficacemente sei aree fondamentali per programmare campagne di marketing.
In molti casi, la strategia marketing basata sul CRM si va a contrapporre alla strategia basata sul prodotto. Io penso che entrambe possano e debbano coesistere ed essere gestite da team diversi, in quanto proprio i concetti base sono completamente diversi.
Cross-selling ed up-selling
Cross-selling è l'atto di vendita di un prodotto o un servizio a un cliente generato da un altro acquisto. Un esempio può essere quello delle mamme che, quando acquistano nuovi prodotti per i loro bambini, al tempo stesso possono comprare vestiti per sé. Il cross-selling è oggi una strategia di base, perché la vendita di più servizi di un cliente aumenta le entrate provenienti da clienti, il che costa meno che l'acquisizione di un cliente nuovo.
Allo stesso modo, le aziende sono freneticamente alla ricerca di opportunità di up-selling, quindi di motivare i loro clienti esistenti ad acquistare prodotti più redditizi.
Prima di adottare strategie di cross-selling e up-selling è necessario comprendere quali prodotti aumentano, anziché diminuire, la redditività globale di un cliente. Non è detto che vendere ad un cliente un prodotto incrementi effettivamente la redditività complessiva del cliente stesso.
Cross-selling fatto correttamente significa vendere il prodotto giusto al cliente giusto. Ciò significa anche capire che non tutti i clienti sono buoni candidati per il cross-selling. Comprendere le modalità con le quali i clienti valutano se e come rispondere a queste promozioni è un fattore molto critico. Non sorprende dunque, il desiderio di migliorare il cross-selling adottando pratiche commerciali basate sul CRM. Infatti, questo tipo di software consente di ricavare dati comportamentali del singolo cliente, in modo da offrire alla persona giusta il prodotto giusto.
Customer Retention
Le banche e le compagnie telefoniche sono state le prime aziende commerciali a voler comprendere il motivo per cui i clienti le ”tradiscono” per i concorrenti. Capire che i clienti hanno lasciato l’azienda, sapendo in particolare chi ha lasciato l’azienda, non è banale. Capire il motivo per cui hanno lasciata è ancora più difficile. Ma la parte più difficile è arginare la perdita dei clienti implementando strategie di business che “costringano” il cliente a restare.
La “customer retention” quindi si basa sull’assioma che dice che il mantenimento di un cliente è di gran lunga più efficace in termini di costi dell’acquisizione di uno nuovo. La perdita quindi di un cliente causa non solo la perdita di ricavi ma anche la perdita dell’investimento iniziale fatto per acquisirlo e di conseguenza, la perdita di un mercato stabile per la vendita di nuovi prodotti. Si è dimostrato quindi che ridurre le defezioni da parte dei clienti acquisiti consente di avere un aumento degli utili esponenziale.
Attualmente, le aziende che stanno utilizzando sofisticate tecnologie predittive, possono confrontare in quale modo attributi simili dei clienti portano all’allontanamento, e quindi possono personalizzare le strategie di marketing volte a motivare i clienti a rimanere. Il problema delle strategie di fidelizzazione è che, una volta individuati i clienti che potrebbero lasciare, come si fa a mantenerli?
Cercando di capire il modo migliore per trattenere i clienti che sono sul punto di lasciare, le aziende devono progettare campagne di marketing che consentano di aumentare il margine di ricavo del cliente, piuttosto che accontentarsi a mantenerlo. Questo è uno dei diversi usi del CRM e dell’analisi dei dati di commercializzazione, che servono per predire il comportamento del cliente.
Behavior Prediction
Sebbene non sia vista come strumento di marketing, la previsione del comportamento consente al marketing di determinare cosa potranno fare in futuro i propri clienti. Usando sofisticate tecniche di modellazione e di data mining, la previsione del comportamento si basa sull’analisi della storia del cliente tentando di prevedere i comportamenti futuri. Questo tipo di analisi comprende diverse varianti:
- Analisi della propensione a comprare: comprendere quali prodotti un particolare cliente è probabile che acquisti.
- Previsione degli acquisti successivi: comprendere quali e quali quantità di prodotto o servizio un cliente possa comprare di seguito al primo acquisto.
- Analisi sull’affinità di prodotto: comprendere quali prodotti saranno acquistati insieme ad altri prodotti. Conosciuto anche come "market basket analysis", può essere considerato come l'esame dei prodotti in un carrello per lo shopping, in modo da capire le varie associazioni di prodotto. Eclatante è l’esempio dei produttori di stampanti che ormai regalano l’hardware per ottenere gli incassi ricorrenti derivanti dall’acquisto delle cartucce.
- Modellazione dinamica dei prezzi: la determinazione del prezzo ottimale per un dato prodotto viene effettuato per un determinato cliente, segmento di clientela o evento. Portiamo ad esempio i prezzi degli alberghi, che variano a seconda della fedeltà del cliente o a seconda del momento o della presenza di fiere o eventi.
Prevedendo il comportamento del cliente, una società può prendere una serie di decisioni di marketing preventivo, ad esempio offrendo sconti per i clienti esistenti che sono in procinto di cambiare marchio o prodotto, prima che questo possa succedere. La chiave di tutta questa analisi, e in particolare delle azioni di tale risultato, è identificare quali sono i migliori clienti.
Ottimizzazione del canale
L'obiettivo del CRM è quello di offrire il messaggio giusto al cliente giusto al momento giusto.
Ad esempio, un nuovo cliente il cui uso di servizi bancari on-line sia in costante aumento, potrebbe diventare un target di una campagna che proponga vantaggi nell’utilizzo delle operazioni online, mentre un pensionato a cui “piace visitare” la sua banca, può essere reso felice dal direttore di filiale che gli offre una tazza di caffè insieme ad un opuscolo su un nuovo prodotto finanziario. Si tratta quindi di conoscere il canale preferenziale di accesso di un cliente ad un prodotto/servizio, per offrirgli quello che lui si aspetta.
Capire i canali attraverso i quali i clienti preferiscono interagire con l’azienda è solo una parte del lavoro. L’azienda deve decidere il modo migliore per comunicare con i clienti. Solo perché un cliente preferisce fare i suoi depositi in filiale, non significa che non possa accedere anche ai servizi online. Capire il migliore canale di contatto significa ottimizzare la gestione delle comunicazioni "in entrata" ed "in uscita" e quindi scegliere il migliore canale di contatto con il cliente, a seconda dell’opportunità offerta.
Personalizzazione della web experience
Praticamente tutti noi abbiamo acquistato qualcosa su Internet, che si tratti di libri, grandi elettrodomestici o un oggetto tecnologico. Ma avete mai notato che a volte questi siti web sembrano proprio che sappiano cosa volete?
Personalizzazione è la capacità di comunicare con il cliente sulla base di conoscenze e comportamenti registrati nei vari momenti di interazione con il sito stesso. Questo significa poter personalizzare l’aspetto del sito web in base al comportamento tenuto dal navigatore nelle visite precedenti.
Più in particolare, con il CRM si può adattare il tipo del messaggio al singolo cliente, accedendo ai dati personali ogni volta che il cliente visita il sito ed utilizzarli per creare contenuti personalizzati. Queste tecnologie consentono l'analisi di ciascun cliente, nel corso del tempo e in tutti i canali, utilizzando i dati del profilo, il passato degli acquisti, i dati di navigazione ed eventuali test o sondaggi per tentare personalizzare la sua esperienza di navigazione.
Event-based marketing
La migliore definizione di “event-based marketing” è un marketing basato sul tempo, capace di reagire immediatamente ad uno specifico evento del cliente. Event-based marketing, chiamato anche chiamato “event-driven marketing”, si può applicare ad un segmento di clienti o a clienti singoli.
L’obiettivo ideale dell’event-based marketing è quello di essere in grado di reagire ad eventi dei clienti in tempo quasi reale, subito dopo il verificarsi dell'evento. Un semplice esempio è la consegna dei coupon promozionali alla cassa del supermercato. In base agli acquisti effettuati ed all’analisi dello storico un software opportunamente configurato, ci fornisce una promozione su un prodotto di nostro interesse, che probabilmente non avremmo comprato senza un qualche incentivo.
L’event-based marketing richiede un solido processo di automazione CRM ed un lavoro ben calibrato per essere efficace. Con un processo manuale, questo sarebbe praticamente impossibile e l'automazione è necessaria per individuare le informazioni e per suggerire le opportune promozioni per quel cliente.
Il web è semplice
Il web è semplice, molte volte le web agencies complicano molto di più il discorso di quanto sia necessario. Esistono diversi software web (cms, crm, project management system) che possono consentirvi di essere online con siti semplici (ma di buon gusto, modificabili da voi senza contratti di manutenzione) in qualche ora. Esistono fornitori di hosting affidabili che in una decina di minuti vi configurano il vostro spazio web e fanno sì che sia sempre disponibile, per quattro soldi. Se non siete una grande azienda, quindi con esigenze di personalizzazioni spinte, provate a leggere all'interno di questo sito. Cercherò di indirizzarvi verso le scelte giuste per far sì che il vostro sito web sia proprio come lo volete voi, senza per questo dover spendere una fortuna!
Iniziando con i CMS Opensource vi indico due alternative, a seconda che prediligiate software scritti in php o in ASP.NET.
Intanto potete leggere chi sono e cosa faccio(e cosa ho fatto) e, se avete bisogno di me, contattarmi.
Hosting e domini
Spinosissimo argomento...
Di cosa ho bisogno perchè il mio sito sia presente sul web?
Ok, di un CMS, così mi posso aggiornare le notizie quando voglio. Poi di uno spazio web dove pubblicarlo. Io vi consiglio di utilizzare fornitori di servizio americani, risparmiate e trovate un servizio migliore. In Italia ho provato i più famosi e vi posso garantire che non c'è hosting italiano che dia le stesse caratteristiche di hosting americano allo stesso prezzo. E' ovvio che se le vostre esigenze fossero quelle di gestire un sito con 100.000 visite giorno, il mio consiglio sarebbe diverso ma tant'è, scendiamo nel mondo reale, quando un sito in Italia fa 400/500 visitatori unici giornalieri può tranquillamente risiedere su server negli Stati Uniti e poi, con la connettività che migliora sempre, non ci sono grandi differenze di prestazioni.
Questo sito ad esempio sta negli Stati Uniti, ed il costo complessivo per un hosting che può ospitare illimitati domini, e mail e database illimitati, SMTP server per ogni dominio e tantissime altre caratteristiche interessanti, è di 7,95$ al mese. Viene offerto un pannello di controllo, cpanel, attraverso il quale si possono effettuare tutte le operazioni di gestione, quali la creazione di domini, sottodomini, la gestione delle caselle di posta, dei database ed altro.
Inoltre, sempre negli Stati Uniti, un dominio si può registrare spendendo dai 10 ai 20$ l'anno, a seconda delle estensioni, il primo anno, per domini .info si possono spendere cifre inferiori ad 1$. Non servono FAX, LAR ed amenità varie. Si fa tutto online ed il vostro dominio viene registrato ed è attivo nel giro di venti minuti...
Se volete sapere quindi come risparmiare sui servizi di hosting e di registrazione domini e se avete necessità che vi mantenga un server di questo tipo facendo per voi le operazioni di gestione, contattatemi.
DotNetNuke
DotNetNuke è un Content Management System (CMS) Open Source basato sul framework .NET. Realizzato in ASP.NET con fortissima attenzione verso tutti gli aspetti legati alla sicurezza, tale piattaforma non risulta essere solamente un CMS, bensì un framework applicativo, che consente di integrare al suo interno, applicativi sviluppati con Visual Studio 2008.
Il vantaggio maggiore dell’utilizzo di questa piattaforma è di poter disporre di una base solida applicativa sulla quale sviluppare tutti i moduli necessari, senza dover partire da zero per quanto riguarda la parte di presentation e sicurezza negli accessi.
Gestione dei contenuti e design
I contenuti possono essere editati dall’interno dell’interfaccia web, dagli autori del portale. Un meccanismo di approvazione degli editori consente poi che i contenuti siano pubblicati. L’aspetto del portale può essere modificato attraverso un foglio di stile ed un meccanismo di “skinning” consente di modificare completamente il “look and feel” del portale, senza dover modificare i contenuti.
DotNetNuke può supportare più portali con la medesima installazione, ognuno con la sua caratteristica "immagine grafica" e con contenuti propri ed include la possibilità di localizzare il proprio contenuto in più lingue. Inoltre, se siete degli sviluppatori, potete facilmente costruire moduli che si integrano perfettamente all'interno del portale stesso, utilizzando Visual Studio 2005 o 2008.
Nonostante sia un applicativo Windows, tutto il framework è rilasciato con licenza Open Source di tipo BSD-style.
La sicurezza e le autorizzazioni
Ruoli ed accessi: gli amministratori possono definire e assegnare ruoli per differenti gruppi di utenti. Per ogni gruppo di accesso, si possono stabilirei diritti di modifica per qualunque modulo inserito nel sito. Quando un utente si collega al portale, può accedere solamente alle informazioni cui ha permesso di accesso. Questi permessi possono essere assegnati ad una singola pagina del portale o anche a un modulo individuale di una pagina specifica. In questo modo è possibile dare accesso ad utenti identificati da ruoli diversi a differenti aree del portale.
Il framework applicativo
Il framework applicativo è caratterizzato da diverse aree funzionali che consentono di assemblare l’applicativo finale. Il framework sta alla base di tutti i meccanismi di autenticazione, ricerca e presentazione. Si occupa inoltre di gestire l’accesso ai vari moduli, consentendo di inserire la gestione della sicurezza del portale all’interno dei moduli personalizzati. Fornisce agli applicativi l’interfaccia di accesso ai dati e le funzionalità di localizzazione dell’interfaccia, consentendo un rapido adattamento alla gestione multilingua.
Joomla
Joomla! è la piattaforma software CMS Open Source con la più ampia comunità di sviluppatori al mondo. Tale software rappresenta il top dei Content Management System Open Source ed è basato sulla collaudatissima architettura software MySql/PHP. Joomla! è un Content Management System (CMS), software per la creazione di pagine dinamiche e contenuti interattivi, per la gestione di portali web.
Prerogativa di Joomla! è la cura nel mantenere la gestione e la fruizione dei siti il più semplice possibile, fornendo il maggior numero di strumenti possibili. Grazie all’elevata usabilità dei componenti anche gli utenti che non hanno competenze tecniche potranno avere pieno controllo sui siti e sui contenuti.
La comunità che sta alle spalle di Joomla! include designer, sviluppatori, gestori di sistemi, traduttori, editori e, più importanti di tutti, gli utenti finali.
Joomla presenta delle eccellenti referenze e dispone di una delle più ampie community di sviluppatori sul web, a garanzia delle future evoluzioni del prodotto.
La piattaforma Joomla! è composta, oltre che dalla parte di caricamento dei contenuti, da altre tre componenti applicative:
- i moduli: rappresentano i “mattoni” del CMS Joomla!. Consentono di posizionare elementi dinamici in qualunque parte del template grafico, ad eccezione della parte di contenuto.
- i componenti: sono delle specifiche applicazioni che consentono di includere all'interno del CMS, mantenendo quindi coerenza con l'aspetto grafico del sito, software quali forum, blog, bacheche ed in generale tutti i software di e-democracy.
- i plugin: Consentono di caricare elementi interattivi anche all'interno della parte dei contenuti.
Il caricamento dei contenuti avviene in un'area molto simile ai normali word-processor ed è fruibile via Web con qualunque browser. Si veda di seguito una maschera di inserimento di un contenuto:

Nel momento della pubblicazione del contenuto, questo, oltre che essere disponibile sul web, viene messo a disposizione attraverso i feed RSS, , che permette ai visitatori essere avvisati degli aggiornamenti dei contenuti mediante l'utilizzo di un Feed reader o un segnalibri live.
Tra le altre caratteristiche di Joomla! è possibile evidenziare:
- Caching delle pagine per incrementare le prestazioni
- Funzioni di Search Engine Optimization, per facilitare l'indicizzazione dei contenuti da parte dei motori di ricerca
- Feeding RSS
- Versione stampabile delle pagine
- Pubblicazione tipo Blog
- Ricerca testuale su tutti i contenuti inseriti
- Localizzazione ed internazionalizzazione, che permettono la traduzione di ogni pagina del portale in altre lingue.
La pubblicazione dei contenuti potrà avvenire tramite una procedura di approvazione. Tale procedura permetterà la compilazione da parte del team di redazione delle parti modificabili dei contenuti. Sarà ovviamente possibile inserire degli allegati quali immagini o elementi multimediali. Un esempio di flusso di pubblicazione di un contenuto è il seguente:
- Il redattore crea una nuova pagina in base a uno dei layout di pagina disponibili. Il caricamento effettivo dei dati avviene tramite un'interfaccia di backoffice, attraverso la quale è possibile caricare i dati normalmente oppure fare copia ed incolla da documenti, ad esempio di tipo Word o Openoffice. Il redattore della notizia ha a disposizione tutti gli strumenti che usualmente trova all'interno di un word processor, quali il cambio font, l'applicazione degli stili, la creazione di una tabella, l'inserimento di immagini e contenuti multimediali ed altre funzionalità. Ovviamente, ma è bene ribadirlo, non è necessario in alcun modo la conoscenza dell'HTML per scrivere i contenuti del portale;
- Il redattore completa la pagina e la salva. Tale azione può scatenare due effetti diversi, a seconda del profilo dell'utente. Se l'utente è autorizzato alla pubblicazione diretta online, il contenuto verrà immediatamente pubblicato. Se invece l'utente non può pubblicare direttamente, il contenuto sarà inviato alla persona del team di redazione preposto all'approvazione ed alla pubblicazione dei contenuti.
- Il responsabile per l'aggiornamento dei contenuti del team di redazione (eventualmente) modifica il contenuto e quindi approva (o rifiuta) la pubblicazione.
- Al momento dell'approvazione, l'articolo viene pubblicato e diviene visibile al web.
CMS
Un content management system (spesso abbreviato in CMS) è un sistema di gestione dei contenuti, che consente anche a persone a digiuno di programmazione, di pubblicare un sito web utilizzando degli strumenti semplici.
Normalmente un CMS si divide in due componenti:
- Un front end
- Un backoffice
I CMS possono essere programmati in vari linguaggi tra cui più comunemente in PHP, JAVA, ASP.NET; il tipo di linguaggio adoperato è indifferente a livello di funzionalità. Alcuni linguaggi rendono il CMS multipiattaforma, mentre altri lo rendono usufruibile solo su piattaforme proprietarie. I software CMS si dividono in cinque macrocategorie:
- Enterprise CMS (ECMS): è un sistema che si focalizza sui processi organizzativi di un'azienda.
- Web CMS (WCMS): è il content management system di scelta per costruire semplicemente siti web.
- Document management system (DMS): serve per la gestione documentale all'interno di organizzazioni complesse.
- Mobile CMS: serve per pubblicare contenuti su dispositivi mobile.
- Media content management system: sono i sistemi che consentono la pubblicazione di file multimediali (radio, video, immagini) sul web.
Noi ci concentreremo sui WCMS, i Content Management System per i siti web e, fra questi, soprattutto su quelli che non hanno bisogno di un aereoplano per funzionare!!!
Chi sono
Biografia personale
La mia vita si divide in quattro fasi importantissime intimamente legate tra di loro: lo studio, lo sport, il lavoro e la famiglia ed ognuna ha avuto grande importanza per il mio sviluppo personale.
Da giovane ho praticato la pallacanestro, sport di squadra, nel quale la fiducia nei compagni supera di gran lunga la capacità individuale. Sono stato allenatore di questo sport, arrivando ad allenare la serie B femminile. Numerose finali interzonali mi hanno portato a girare l’Italia ed a conoscere moltissime persone. Ma i momenti più belli, quelli che porterò sempre dentro, sono venuti dal riconoscimento del mio lavoro da parte delle persone che ho allenato, che mi hanno fatto crescere umanamente ed alle quali penso di aver apportato anch’io qualcosa di buono.
Lo studio, che dire, ho iniziato a sei anni e non ho ancora finito, né penso che finirò mai. Studiare è per me la cosa più importante. Vi aspetterete un ingegnere o un laureato in informatica. Sbagliato! Sono un biologo, anzi, un microbiologo, pioniere della biologia molecolare, topo di laboratorio. E l’informatica è stata per me dapprima un hobby, poi, aiutato dal mio relatore, ho avuto modo di approfondire la conoscenza dell’informatica applicata alla biologia e poi…
…beh, l’analisi dei dati è la mia passione, quindi dai dati biologici sono passato allo studio dei database ed all’analisi dei dati. Quindi ho studiato informatica mentre lavoravo come biologo e poi ho fatto l’informatico, continuando a studiare biologia…
Nel lavoro sono stato molto lineare. Programmatore, responsabile di un piccolo gruppo di lavoro, project manager di progetti complessi. Sembra poco, ma in realtà sono quasi vent’anni di percorso.
Ultima fase, ma non meno importante, è la famiglia. Ultima in ordine di arrivo, mi sono sposato nel 1995, ma non in ordine di importanza. Sposato con due figli, un maschio ed una femmina, penso di saper ben interpretare il mio ruolo di papà, marito e responsabile della famiglia.
Biografia professionale
Ho iniziato a lavorare nel 1991 per l’EURIS, società informatica presente a Trieste, Milano e Padova. In Euris ho lavorato per due progetti importanti per IBM a Milano San Felice (integrazione tra PC e Mainframe) e per CILME (Credito Italiano Lombardo per la Moneta Elettronica di Bergamo) per il quale ho contribuito a sviluppare uno dei primi sistemi di Remote Banking.
Dal 1993 al 1995 ho fatto l’informatore scientifico farmaceutico per la Masterpharma, società del gruppo Chiesi Farmaceutici. Breve esperienza ma molto significativa e formativa per il mio carattere. In Chiesi ho appreso tecniche di vendita e sicuramente ho sviluppato una sicurezza nelle mie capacità che non avevo prima.
Dal 1995 al 2002 ho lavorato per la Solari di Udine, società attiva nel campo dell’informazione all’utenza (Autostrade e ferrovie) e nella rilevazione presenze. Qui ho fatto le mie prime esperienze significative. Fino al 1998 ho lavorato come esterno, realizzando sistemi di telecontrollo per i pannelli a messaggio variabile presenti lungo le autostrade ed all’ingresso dei caselli. Sono di mia realizzazione i software che pilotano le centraline dei pannelli a messaggio variabile dell’autostrada del Brennero, dei Fiori, della Milano Serravalle, della Brescia Piacenza, della Brescia Padova nonché dell’autostrada del Cile e dell’autopista del Sol (Argentina)
Poi mi sono dedicato ai sistemi di rilevazione presenze e di controllo accessi e proprio in questo campo ho avuto la possibilità di lavorare per clienti molto importanti ed a minciare a lavorare in team. RAI, ISTAT, INPS, Banca Commerciale Italiana sono stati i miei clienti più importanti con progetti che si sono estesi in un arco temporale di più anni e per valori economici superiori al miliardo di lire. Non posso dimenticare altre esperienze, forse più ristrette dal punto di vista economico, ma non meno significative per la mia formazione quali Università di Milano, di Pavia e La Bicocca, Albacom, Provincia di Roma, Regione Lazio e Friuli Venezia Giulia.
Dal 2002 mi occupo di web, principalmente di applicativi web, quali concorsi, CRM ed applicativi di monitoraggio per il sistema bancario. Ho avuto la possibilità di lavorare per SMART, Daimler Chrysler, Stock, Banca Intesa realizzando ogni volta soluzioni custom da associare a campagne di marketing. Mi sono specializzato nel campo del mobile marketing realizzando concorsi SMS ed applicativi di erogazione di contenuti multimediali quali mms e suonerie.
Importante è stata anche la mia esperienza internazionale, a Belgrado prima, dove ho lavorato per l’IMG (International Management Group) sul monitoraggio delle linee di credito erogate dal nostro Ministero degli affari esteri a favore delle piccole e medie imprese serbe, poi a Sarajevo poi dove ho ricoperto il ruolo di project manager di un progetto software di monitoraggio voluto dall’EBRD (European Bank of Reconstruction and Development) per UpiBanka, la più grande banca commerciale bosniaca.
Dopo una parentesi di un anno nel campo della pubblica amministrazione, esperienza poco esaltante per il mio modo di concepire il lavoro, da due anni sono impegnato in Vodu a seguire i progetti speciali ed il CRM di Citroën, Snaidero ed Eurospital.
Caratteristiche e capacità professionali salienti
La mia esperienza professionale mi ha portato moltissime volte a gestire moli di dati notevoli. La progettazione del database e l’analisi dei dati sono quindi per me quello che fa la differenza tra un progetto software di successo ed un progetto scadente.
Conosco bene la progettazione degli applicativi utilizzando UML (Use cases, Requirements model, Sequence model, Business process model, Class diagram).
Ho utilizzato più volte in progetti complessi i principali linguaggi di programmazione: ASP.NET, PHP, Delphi, Java. Non ho una reale preferenza, penso che ognuno di questi abbia lati positivi e che il linguaggio di sviluppo da utilizzare vada scelto a seconda del progetto. Mi piace utilizzare applicazioni Open Source, quali SugarCRM, Joomla, DotNetNuke (CMS) ed Intalio (BPMS – Business Process Management System).
Credo moltissimo nella collaborazione, e per questo senso utilizzo e faccio utilizzare a collaboratori e clienti un software apposito: Basecamp. Basecamp è un software nato per mettere in comunicazione l’azienda con i clienti, in modo da creare un unico repository di progetto dove le informazioni vengono condivise in tempo reale tra collaboratori ed il cliente stesso.
In questo modo si accelerano i processi di comunicazione ed approvazione mantenendo traccia scritta di tutte le comunicazioni inerenti al progetto.
Pregi e difetti
Nel mio lavoro sono una persona meticolosa, molto attenta a soddisfare il cliente senza perdere di vista gli obiettivi aziendali. Non sono normalmente disposto a regalare, penso che il lavoro debba essere pagato per quello che vale. Faccio molta attenzione all’equilibrio tra costi e ricavi e cerco sempre di trovare la soluzione più giusta al problema attuale, senza per questo dover offrire la soluzione più “nuova”.
Non mi è mai capitato di rispondere “non si può fare”. Nel web oggi si può fare tutto, anche quello che gli altri non pensano. Il problema più grande è quello di soddisfare i requirements rimanendo fedeli al budget. Molto spesso si riescono a fornire risultati eccellenti con uno sforzo maggiore di progettazione, piuttosto che buttarsi a capofitto a seguire la moda del momento.
Prendo decisioni. A volte ci si trova davanti a problemi che richiedono una soluzione immediata. Io affronto questi momenti tenendo sempre due soluzioni pronte: quella più corretta e quella di emergenza. Si sa che molte volte la soluzione più corretta non può essere realizzata, quindi avere sempre pronta la strada B è una mia filosofia di vita…Questo è anche un mio difetto, in quanto capita che le strade che prendo possano essere sbagliate entrambe e che la soluzione giusta sia sotto al mio naso ma che non la veda. Per fortuna ho sempre avuto vicino collaboratori fidati, che conoscendomi, mi hanno preso per le orecchie e riportato sulla via giusta.
Sono un buon formatore. Ho la capacità di trasferire le mie conoscenze in modo semplice e mai banale. Sono nato programmatore e conosco bene i problemi che un programmatore deve affrontare. Il mio primo obiettivo nei confronti del team è quello di infondere calma e tranquillità, anche quando il momento è critico. Nella tranquillità si trovano di norma le soluzioni migliori mentre la rabbia o la fretta portano sì a risolvere il problema del momento, ma non quello del momento dopo. Cerco quindi di non trasferire le tensioni al mio team, ma di farmi carico di tutte le problematiche di gestione del cliente.
E qui passiamo al difetto. A volte le troppe tensioni mi portano a chiudermi, a non essere brillante e comunicativo. Chi mi conosce lo sa e mi lascia in pace, altri se la prendono, finchè almeno non mi conoscono.
Mi assumo le responsabilità: da qualunque parte del mio team avvenga l’errore, per il cliente la colpa è sempre mia. Non mi piace scaricare responsabilità su altri, se qualcosa non è andato come doveva, significa che non ho controllato bene il lavoro svolto.
Il lavoro in team è per me fondamentale, credo che per ottenere risultati sia necessario che tutti remino nella stessa direzione e che siano bravi, affidabili e competenti nel loro specifico. Solamente unendo più "teste pensanti" i lavori possono risultare sempre originali e centrati sulle necessità dei clienti.
Joomla
DotNetNuke