Category Archives: Tutorial

Moodle: problemi installazione

Pubblicato da

Moodle: problemi installazione

Moodle: problemi installazione

L’installazione di Moodle, la nota piattaforma open source per l’ e-learning, è stata resa molto semplice tramite una procedura guidata.
Dopo aver uploadato tutti i file sul proprio host, ed aver creato preventivamente il database che ospiterà la piattaforma, basta collegarsi via web al dominio e la procedura parte in automatico.
Spesso, però, si incontrano problemi dovuti alla cartella dove devono risiedere i file inviati dagli utenti.
La cartella, che di default si chiama “moodledata”, deve essere creata al di fuori di quelle raggiungibili via web e deve avere permessi di lettura/scrittura.
Se non sono rispettate queste due condizioni la procedura guidata non va avanti.
I messaggi di errore più comuni informano che la cartella che contiene “moodledata” non ha i permessi di lettura e scrittura, oppure che la cartella stessa si trova in posizione non sicura

La posizione della Cartella dei dati non è sicura

Se per forza dobbiamo creare la cartella all’interno di quelle accessibili via web possiamo renderla non accessibile tramite la creazione di un file .htaccess da inserire all’interno di “moodledata” con queste istruzioni

order deny,allow
deny from all

Sfortunatamente la procedura d’installazione di Moodle non riconosce questa azione di “messa in sicurezza” della cartella e non ci fa andare avanti comunque.
L’unica alternativa che ho trovato è quella di modificare manualmente il file di configurazione.
Si trova nella root della cartella dove abbiamo messo i file di Moodle e si chiama config-dist.php .
Sostanzialmente dobbiamo solo inserire i dati riguardanti la connessione al db (tipo di db, nome del db, user del db e password)

$CFG->dbtype = ‘mysqli’; // ‘pgsql’, ‘mysqli’, ‘mssql’, ‘sqlsrv’ o ‘oci’ (quasi sempre mysqli)
$CFG->dblibrary = ‘native’; // ‘native’ only at the moment
$CFG->dbhost = ‘localhost’; // quasi sempre localhost
$CFG->dbname = ‘moodle’; // nome del database
$CFG->dbuser = ‘username’; // username del database
$CFG->dbpass = ‘password’;//password del database

poi decommentiamo (leviamo le //) l’istruzione riguardante la password SALT e inseriamo una trentina di caratteri casuali tra gli apici

$CFG->passwordsaltmain = ’34yt5734nd34y9y4yd34n9935&!!&%hrTH%$y@6&*1′;

infine indichiamo l’url dell’installazione Moodle e il percorso assoluto della famigerata cartella dati

$CFG->wwwroot   = ‘http://www.miodominio.it/moodle’;
$CFG->dataroot  = ‘/home/miodominio.it/moodledata’;

Il resto possiamo lasciarlo uguale.
Rinominiamo il file da config-dist.php a config.php e riaccediamo al dominio.
Vedremo che avremo saltato la fase dell’installazione su cui ci eravamo fermati e saremo passati a quella della prima configurazione.

Link: altre info sull’installazione di Moodle 2.4

vBulletin: contenuto condizionale per la home page del CMS

Pubblicato da

vBulletin: contenuto condizionale per la home page del CMS

vBulletin: contenuto condizionale per la home page del CMS

In vBulletin si può settare come home page sia la prima pagina del forum, sia la prima pagina del CMS (vBCms).
Come già scritto in un altro post, esiste una sintassi condizionale che ci permette di personalizzare i template.
Se voglio mostrare, ad esempio, del contenuto solo nelle pagine del CMS la sintassi è

<vb:if condition="THIS_SCRIPT == 'vbcms'">
Mostra solo nelle pagine di contenuto CMS</vb:if>

questa sintassi mi permette appunto di mostrare del contenuto ma in tutte le pagine del CMS.
Presupponendo che abbiamo settato come home page del nostro Vbulletin quella del CMS, se voglio mostrare un contenuto solo in questa pagina come posso fare? Basta usare un “trucco”.
Tutti contenuti creati da vBCms hanno appesi dei parametri, ad esempio:

http://www.miovbulletin.com/content.php?pagina-di-prova

questo parametro viene richiamato nella sintassi dei template con

$_GET[‘r’] == xx

dove xx può essere l’id di una sezione ma anche il nome del contenuto
Per richiamarci la home, che non ha parametri nell’URL, scriveremo quindi

<vb:if condition="THIS_SCRIPT=='vbcms' AND $_GET['r'] == ''">
Mostra solo nella home del CMS</vb:if>

ossia poniamo la condizione di essere nel CMS e lasciamo il parametro r vuoto.
Quindi siamo nella home del CMS.

Liberamente ispirato da questo post

Usare al meglio la regola @font-face con l’aiuto di Font Squirrel

Pubblicato da

Usare al meglio la regola @font-face con l'aiuto di Font Squirrel

Usare al meglio la regola @font-face con l'aiuto di Font Squirrel

Guest post del web designer Andrea Scuotto

La regola CSS @font-face permette di visualizzare una pagina web con un determinato font anche se questo non è presente sul sistema operativo dell’utente. Tutti i browser principali ora supportano questa regola.
Regola, grazie alla quale, non ci si deve accontentare più di usare solo i font più comuni installati già sui nostri computer.
Non è, però, tutto così semplice. Ci sono vari ostacoli in cui vi potreste imbattere.
Potreste, infatti, non aver la licenza legale che vi autorizza all’uso del font scelto sul web. Oppure, anche avendo la licenza, potreste non sapere come scrivere la regola CSS di @font-face in modo che vada bene per ogni browser. Per esempio, infatti, se il nostro font avesse estensione TTF non sarebbe supportato da Internet Explorer che è, invece, compatibile solo con i file Embedded OpenType (estensione EOT).
Allora cosa fare?
Ci viene in aiuto, in questi casi, Font Squirrel, un sito che fornisce font ad uso commerciale da scaricare gratuitamente.
Ecco come procedere.
Dopo aver cercato il font che ci serve, ad esempio uno molto simile a un carattere di cui non avevamo la licenza ma che ci tenevamo ad utilizzare, clicchiamo su “@font-face Kit” e dopo aver lasciato spuntato tutte le possibili estensioni (TTF, EOT, WOFF, SVG) scarichiamo un file zip, un “kit”.
Il kit che contiene file dei caratteri in vari formati, un demo html e un file css. Questo file contiene un codice css che armonizza finalmente la regola @font-face con ogni tipo di browser.
Ora dobbiamo solo copiare e incollare la regola in un nostro progetto ed il gioco è fatto.

Link: Font Squirrel

Testare l’efficienza dei DNS

Pubblicato da

Testare l'efficienza dei DNS

Testare l'efficienza dei DNS

Avere tra i parametri di configurazione server DNS performanti è parte essenziale di una connessione efficiente.
Tramite DNS Benchmark possiamo testare centinaia di server alla ricerca di quello che per velocità, efficienza, affidabilità e prossimità fa più al caso nostro.
Il tool è molto semplice da utilizzare. Lo si scarica e lo si avvia senza installazione.

Poi si deve cliccare sul tab Nameservers

Testare l'efficienza dei DNS

Dove viene effettuato un test con una lista precaricata di server, scelti tra quelli più popolari.
Al termine di questo primo test ci viene chiesto se vogliamo creare una nostra lista di 50 DNS effettuando una selezione tra una rosa di migliaia di server sparsi per il mondo.
Il test è automatico e, anche se lento, ci permette di scovare DNS che potrebbero essere più performanti di quelli migliori della prima lista.
Tale lista viene salvata sotto forma di file nella stessa cartella del programma con il nome DNSBench.ini .

Un chiaro grafico a barre evidenzia subito i servizi migliori che sono presentati anche in forma tabellare di dati e che poi è possibile esportare in formato CSV.

Testare l'efficienza dei DNS

NOTA BENE: è ovvio che il DNS più performante risulta sempre quello del proprio router se ci troviamo dentro ad una LAN. Quindi il test ha più senso se si è connessi direttamente alla Rete tramite il proprio modem

L’ultimo tab del programma porta ad una lista di conclusioni / considerazioni circa il test. E’ scritto in un inglese molto semplice e non tecnico che può aiutare chiunque a prendere contromisure nel caso in cui siano stati rilevati problemi

Testare l'efficienza dei DNS

In sintesi: il programma è utile, efficiente e aiuta a configurare una connessione ottimale.
Leggero e gratuito, lo consiglio tanto al professionista che all’utente base (a  patto che sappia lavorare sulle configurazioni di rete)

Link: DNS Benchmark

Riconoscimento facciale di Facebook e privacy

Pubblicato da

Riconoscimento facciale di Facebook e privacy

Riconoscimento facciale di Facebook e privacy

Facebook ha recentemente acquistato Face.com società specializzata nello sviluppo di un software che riconosce i visi delle persone all’interno delle foto e li associa a degli account.
L’obiettivo è palese, creare un sistema automatizzato che riconosca e tagghi le persone all’interno delle milioni di foto pubblicate ogni giorno su Facebook.
Ma se non ci andasse di essere taggati? Il tag equivale ad una notifica ad un pubblico più o meno vasto tra amici e conoscenti.

Quando si apre un account su Facebook le impostazioni sulla privacy di base sono molto permissive, quindi, se non vogliamo che siano inviate notifiche riguardo la nostra presenza in foto, dobbiamo espressamente dirlo.

  • Andiamo nelle impostazioni sulla privacy
  • Nella sezione “Diario e aggiunta di tag” clicchiamo su “Modifica impostazioni”
  • Nella sezione “Chi può vedere i suggerimenti dei tag quando vengono caricate foto che ti somigliano?” scegliamo “Nessuno”

In questo modo, nel momento in cui Facebook integrerà la tecnologia di Face.com, non saremo taggati.

[via ReadWriteWeb]

Reti wireless disponibili: come impostare le priorità di connessione

Pubblicato da

Reti wireless disponibili: come impostare le priorità di connessione

Sia a casa che in ufficio ho molte reti wireless disponibili. Può essere una seccatura se automaticamente Windows si connetta alla rete non voluta.
Come si può impostare un ordine di priorità tra le varie reti disponibili?

Reti wireless disponibili: come impostare le priorità di connessione

In Windows 7 è molto semplice basta cliccare su “Apri centro connessioni di rete e condivisione

Reti wireless disponibili: come impostare le priorità di connessione

Poi si deve cliccare su “Gestisci reti wireless

Reti wireless disponibili: come impostare le priorità di connessione

Nel pannello successivo o si fa clic col destro sulla rete da spostare e si usa il menù contestuale o si trascina la connessione nella posizione voluta

Reti wireless disponibili: come impostare le priorità di connessione

Una volta riordinate le connessioni, queste rispetteranno le priorità

Reti wireless disponibili: come impostare le priorità di connessione

Joomla: gestione unificata avatar K2 e Kunena Forum

Pubblicato da

Joomla: gestione unificata avatar K2 e Kunena Forum

Joomla: gestione unificata avatar K2 e Kunena Forum

K2 è un popolarissimo set di componenti, moduli e plugin che permette di rimpiazzare completamente il sistema di gestione dei contenuti di Joomla.
Uno dei tanti miglioramenti è dato dalla possibilità per gli utenti di disporre di avatar con cui caratterizzare il proprio account.
Kunena Forum è, invece, un’altrettanta popolare piattaforma di comunicazione / forum per Joomla.
Entrambi i prodotti sono free e open source con alle spalle grandi community di utilizzatori e sviluppatori.
Un problema comune, quando si usano K2 e Kunena insieme, è che il forum non utilizza gli avatar caricati con K2 (e viceversa).
La comunità di Kunena ha provveduto a realizzare dei tool che importano gli avatar da altri plugin come Community Builder e Jomsocial ma per K2 il problema rimaneva inserobilmente insoluto.
Ho trovato una soluzione un po’ “casareccia” ma funzionale per chi vuol risolvere con poco sforzo.
Innanzitutto si stabilisce che a gestire gli avatar sia l’interfaccia di Kunena quindi operiamo su uno degli helper di K2, precisamente

components\com_k2\helpers\utilities.php

alla riga 65 sostituiamo

$avatar = JURI::root(true).’/media/k2/users/’.$avatar;

con

$avatar = JURI::root(true).’/media/kunena/avatars/resized/size72/users/avatar’.$userID.’.jpg’;

In questo modo sfruttiamo il fatto che K2 utilizza avatar piccoli come quelli creati automaticamente da Kunena e che sono identificati, molto semplicemente, dal nome avatar + numero ID utente di Joomla + estensione JPG.

Errore durante l’installazione di Cisco VPN Client su Windows 7 a 64 bit

Pubblicato da

Errore durante l'installazione di Cisco VPN Client su Windows 7 a 64 bit

E’ un errore che ho riscontrato durante l’installazione del client VPN Cisco su Windows 7 a 64 bit ma essendo un problema dovuto alla DLL VBSCRIPT credo che la descrizione della risoluzione possa essere d’aiuto anche in altri casi.

1) Per primo lancia cmd.exe come amministratore e muoviti alla cartella dove si trova il pacchetto d’installazione (ad esempio nel mio caso c:\vpnclient)

2) Esegui il comando: msiexec /i c:\vpnclient\vpnclient_setup.msi /qb /lv log.txt (ovviamente questo comando varia a seconda del pacchetto che si sta tentando di installare)

3) Se ricevi un messaggio “Internal Error 2738” significa che c’è un errore con l’installazione di VBScript

3.1)  apri e controlla il file log.txt che si è creato e cerca la riga che dice: DEBUG: Error 2738:  Could not access VBScript runtime for custom action

4) se trovi la stringa succitata prova con questi comandi
per windows 32bit esegui:

c:\windows\system32\regsvr32 vbscript.dll

per windows 64bit esegui:

c:\windows\syswow64\regsvr32 vbscript.dll

e prova di nuovo con l’installazione citata nel passo 2

5) se continui ad avere l’errore “2738” come nello passo 3 prova eseguendo il comando:

reg delete “HKCU\SOFTWARE\Classes\Wow6432Node\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}” /f

ore prova a registrare di nuovo la DLL “vbscript.dll” come mostrato nel passo 4 e riprova con l’installazione come nel passo 2

Con il mio problema ha funzionato perfettamente.

Link: via Forum Cisco

Bottone “ricevi gli aggiornamenti” di Facebook

Pubblicato da

Bottone "ricevi gli aggiornamenti" di Facebook

Bottone "ricevi gli aggiornamenti" di Facebook

Forse a qualcuno sarà sfuggito che da un po’ è possibile ricevere gli aggiornamenti (contenuti pubblici) di una persona su Facebook anche se non si è amici.
Insomma qualcosa che somiglia tremendamente a Twitter.. ma diciamolo a bassa voce.
E’ possibile creare un pulsante/bottone da mettere sul proprio sito per promuovere questo tipo di relazione invece che la classica richiesta di amicizia.
Il codice generato nell’apposita pagina è in forma HTML5, XFBML o il semplice IFRAME (consigliato per i meno esperti). Ed ecco il risultato:

Sinceramente non so se utilizzerò questo bottone ma sapere che esiste e sapere come si crea non è mai un male 🙂

Link: Genera bottone “ricevi aggiornamenti” su Facebook

Amministrare con Access in locale un MySQL remoto tramite SSH Tunneling

Pubblicato da

Amministrare con Access in locale un MySQL remoto tramite SSH Tunneling

Amministrare con Access in locale un MySQL remoto tramite SSH Tunneling

Ci sono molte aziende che hanno enormi difficoltà a cambiare il loro modo di lavorare.
Se un impiegato ha imparato a lavorare con Microsoft Access, la dirigenza spesso preferisce far ruotare tutto su questo punto fermo, piuttosto che costringere ad un corso di formazione.
Mettiamo che si voglia quindi gestire tutto o parte di database online MySQL tramite la nota interfaccia di Access in locale.
Il problema più grande è che MySQL viene sempre configurato in modo da non accettare connessioni da remoto ma solo da localhost (o al massimo da un IP trusted).
Soluzione: abbiamo bisogno di fare SSH tunneling

  • scarichiamo Putty e Plink dal sito di Putty e mettiamoli entrambi in una stessa cartella
  • apriamo una shell di comando (per Windows 7 basta scrivere “cmd” e  fare invio nella casellina di ricerca del menù)
  • navighiamo fino alla cartella dove abbiamo messo i programmi e diamo questo comando
    plink -L 3307:localhost:3306 username@miodominio.it
    3307 è la porta locale cui ci connetteremo
    3306 è la porta remota di MySQL (raramente viene utilizzata un’altra porta)
    username è l’utente SSH
    miodominio.it identifica il server dove gira MySQL (può essere un dominio o un IP)
  • si avvierà una finestra terminale da Putty in cui ci viene chiesta la password (se tutto ok, un suono ci avvertirà dell’avvenuta creazione del tunnel)

Per collegare Access tramite il tunnel SSH (ho lavorato su un Access in inglese ma credo si capiscano i comandi)

  • se non lo si è già fatto scaricare e installare i driver Connector/ODBC (attenzione nella scelta tra 32 e 64 bit)
  • aprire Access e creare un nuovo db (è possibile usare anche un db già creato)
  • clic su File -> Get External Data -> Link Tables
  • nella scelta del tipo di link scegliere ODBC Databases ()
  • si aprirà una finestra, cliccare sul tab Machine Data Source e poi su New
  • si aprirà una nuova finestra, questa volta del Connector/ODBC
    1. immettiamo un nome qualsiasi per Data Source Name
    2. nella casella Server mettiamo il dominio o l’IP
    3. lasciamo vuota la casella di MySQL database name
    4. in User e Password immettiamo quelle di root
    5. Cliccando su Test il menù a discesa Database si popolerà dei db raggiungibili
    6. Scegliamo il db da collegare e clicchiamo OK
    7. A questo punto possiamo scegliere se importare tutte o solo alcune delle tabelle MySQL remote

Nota Bene: ho lavorato usando la versione XP di Microsoft Access. Non credo che le versioni successive siano troppo diverse.