FTP data in WP-Config
E’ possibile salvare sul wp-config.php i dati ftp per il nostro sito,
in modo che non vengano richiesti ad ogni installazione di tema o plugin.
Basta aggiungere le seguenti righe impostando i corretti valori:
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org');
Queste le impostazioni opzionali:
define('FS_METHOD', 'ftpext');
define('FTP_BASE', '/path/to/wordpress/');
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_SSL', false);
An Unexpected HTTP Error occurred during the API request
Se Wordpress visualizza questo errore nella pagina dei plugin o dei temi
è possibile che il vostro server abbia qualche problema di connettività ai server wordpress.org.
E’ possibile aumentare il tempo di timeout delle chiamate http di wordpress modificando il valore in file presente nella cartella wp-includes.
Per le versioni di wordpress precedenti alla 3.0. il file da modificare è ‘http.php’ mentre per versioni di wp superiori alla 3.0 il file è ‘class-http.php’
Cercate ‘timeout’ troverete una riga simile a questa:
'timeout' => apply_filters( 'http_request_timeout', 5),
Aumentando il valore ‘5′ di timeout è molto probabile che il problema si risolva.
Helpdesk e ticketing
Dopo alcune ricerche sui vari sistemi di helpdesk, ticketing e issue tracking più o meno diffusi,
abbiamo deciso di installare ed adottare osTicket come sistema di ticketing per Web-Riot.
Sappiamo molto bene che prodotti come Trac o Redmine sono molto più completi
ma per la gestione dei ticket di assistenza per questa piccola realtà abbiamo pensato
che potesse bastare, e dato che osTicket gira su php e mysql l’installazione sul nostro server
è stata velocissima, 10 minuti ed il nuovo sistema di helpdesk era online.
E’ disponibile all’indirizzo: http://helpdesk.web-riot.com
Zip file download
Scaricare files è piuttosto semplice con C# e .NET, usando i classici WebRequest e WebResponse.
Purtroppo le cose si complicano un pelino quando il file da scaricare è uno Zip.
Qui il codice grezzo che ho usato per Windows CF 2.0.
string remoteUrl = “http://fileserver/folder01/test01.zip”;
WebRequest request;
WebResponse response;
Stream reader;
Stream writer;
Byte[] dataw = new Byte[1024];
int count = 0;
int total = 0;
request = WebRequest.Create(remoteUrl);
response = request.GetResponse();
reader = response.GetResponseStream();
writer = File.Create(zipfile);
while(true){
count = reader.Read(dataw, 0, 1024);
if(count <= 0) break;
writer.Write(dataw, 0, count);
total += 1024;
}reader.Close();
writer.Close();
SQLite VS SQLCE
Su una applicazione Windows CE / Windows Mobile dovevo gestire alcuni dati in locale, ed ho subito pensato al motore di database nativo per .NET: SQL CE.
Dopo una serie di test però ho deciso di adottare il più performante SQLite.
In breve ecco i dati di confronto che mi hanno fatto scegliere SQLite:
- INSERT 2.000 righe
SQLCE#2: 48 secondi
SQLite#1: 18 secondi - COUNT da tabella con 70.000 righe
SQLCE: 3,7 secondi
SQLite: 1,4 secondi - DIMENSIONE FILE con tabella di 70.000 righe
SQLCE: 16Mb - Zippato 16Mb
SQLite: 17Mb – Zippato 5Mb
Inoltre il database SQL CE deve ricreare gli indici dopo la copia del file db sul dispositivo, cosa che non avviene per SQLite, posso quindi creare il file sul server, e copiarlo pronto all’uso sul dispositivo mobile. Senza considerare che SQLite è cross platform e quindi posso creare il database anche da Zope con python senza imporre limiti alla fantasia di piattaforme e sistemi che potrebbe volere interagire, mentre per SQL CE è necessario un SQL Server…
Dalle mie prove SQL CE esce veramente malconcio… ma probabilmente esistono campi in cui riesce a fare migliori impressioni.
USB to Windows from Ubuntu Virtual Box
Virtual Box è un ottimo sistema di virtualizzazione multipiattaforma.
Lo stavo usando su Ubuntu Karmic Koala ed ho notato che non riuscivo
a forwardare una USB alla macchina guest.
Ho scoperto che esiste un gruppo di utenti: VboxUsers a cui il nostro utente va aggiunto
e che Virtual Box va lanciato con un parametro aggiuntivo:
VBOX_USB=USBFS VirtualBox
Per evitare di lanciare VirtualBox sempre da riga di comando è possibile editare il comando di avvio:
sudo gedit /usr/bin/VirtualBox
aggiungendo la seguente rigaVBOX_USB=USBFSDopo aver riavviato il sistema, avremo la possibilità di abilitare USB sul sistema Guest.
Disabilitare la Cache in Firefox
Il caching dei browser spesso è molto utile per velocizzare il download e il rendering delle pagine web, ancora oggi nonostante le connessioni siano sempre veloci ed affidabili.
Per uno sviluppatore web, però, spesso comporta problemi in quanto non riesce a visualizzare le modifiche recenti, se non forzando il reload della pagina intera in combinazione con Shift o Ctrl.
Oggi ho scoperto che su Firefox è possibile disabilitare il caching, puntando alle configurazioni di Firefox con l’indirizzo about:config e settando a False la chiave network.http.use-cache
ActiveSync unable to obtain a server assigned IP address
Sviluppando una applicazione windows mobile oggi ho incontrato uno strano problema: il palmare di test non riesce a connettersi ad internet tramite ActiveSync. Il messaggio di errore visualizzato è il seguente: “Pocket PC Networking, Unable to obtain a server-assigned IP address. Try again later or enter an IP address in Network settings.”
Annoto qui di seguito i passi compiuti per risolvere il problema:
- Sul palmare impostare Ip Statico in Control Panel -> Connections -> Network Cards ->Remote-NDIS Host
IP: 169.254.2.1
Mask: 255.255.255.0
Gateway: 169.254.2.2 - Su ActiveSync File -> Settings -> Computer Connect to : Intenet.
Zope su Django Turnkey Appliance
Oggi a scopo di test preventivo per un futuro cambio di piattaforma per un nostro cliente, abbiamo affrontato l’installazione di Zope sulla macchina virtuale Appliance Django Turnkey.Non è assolutamente una impresa titanica, ma voglio prendere nota di alcuni passaggi cruciali.Installazione di Zope:
apt-get install zope2.10
Zope viene installato sulla directory: /usr/lib/Zope2.10/Ora dobbiamo creare l’instanza di Zope:
cd /usr/lib/zope2.10/
python bin/mkzopeinstance.py -d instance -u admin:admin
python bin/mkzeoinstance.py zeo $1
Se tutto va come dovrebbe andare, siamo pronti per avviare Zope:
instance/bin/zopectl start
E possiamo puntare il browser alla root della nostra applicazione, o al /manage/ con nome admin, password admin.N.B.Se il runzope non avvia il servizio, ma genera un errore, potrebbe essere per la versione di python sbagliata, e si risolve facilmente modificando il file runzope, modificando la seguente riga:
PYTHON="/usr/bin/python"
con la seguente:
PYTHON="/usr/bin/python2.4"
Django Turnkey VmWare Appliance
Da diversi giorni stiamo lavorando su una turnkey appliance esplicitamente creata per Django.
Stiamo facendo test sulla sicurezza della macchina e sulla affidabilità, oltre ovviamente a prove di praticità nell’uso quotidiano per lo sviluppo, la manutenzione e assistenza a siti Django.
La macchina VmWare è disponibile a questo indirizzo: http://www.vmware.com/appliances/directory/82433
La macchina è molto leggera e arriva con già pronta per la messa in produzione, con una interfaccia di amministrazione web: webmin, che permette di controllare Apache e MySQL in modo molto dettagliato.