Articoli

Se state sviluppando, come nella maggior parte dei casi, per un cliente,è cruciale che quest’ultimo possa seguire le fasi di sviluppo del proprio sito.

Uno sviluppo in locale, ovvero sulla macchina di produzione senza accesso al web, implica spesso inviare layout, screenshots e l’impossibillità da parte del cliente di testare le funzionalità dinamiche. Può anche andare bene, ma in un ristretto numero di casi. Inoltre, implica un surplus di lavoro che può essere facilmente evitato.

La best practice, il miglior modo di procedere, in questi casi è il seguente.

Innanzitutto creare un’area privata all’interno di un proprio spazio web. Ad esempio, nel caso di un’ipotetica area di sviluppo dell’altrettanto ipotetica azienda “ACME”, si può utilizzare una cartella del tipo: www.acme.com/prova, in cui avremo cura di impedire l’accesso ai motori di ricerca. 

Possiamo farlo via robots.txt, aggiungendo al nostro file le due righe necessarie:

User-agent: *

Disallow: /prova/ (attenzione allo “/” finale)

Supponiamo ora che il cliente si chiami “mario rossi ed associati”. Apriremo una cartella www.acme.com/prova/rossi in cui installeremo WP.

Nel file config.php avremo cura di dare un nome univoco alle tabelle del DB. Nel nostro esempio, la riga di definizione delle tabelle in questione diventerà:

$table_prefix  = ‘wprossi_’;

o similia.

A questo punto installiamo wordpress accedendo all’home page (ovvero www.acme.com/prova/rossi).

Le tabelle verranno aggiunte al DB con prefisso “wprossi” e quindi chiaramente distinte da quelle di altri siti, e procediamo con lo sviluppo, fase durante cui potremo dialogare anche in modo diretto ed in tempo reale con il cliente, dato che avremo avuto cura di inviarlgi il link all’area di sviluppo.

Al termine, ovvero quando siamo pronti ad installare e andare in linea, sarà sufficiente effettuare il backup completo della root del cliente dall’area di prova e di tutte le sottocartelle, con il nostro client FTP, per avere il salvataggio completo di tutta l’area web.

Poi, utilizzando PHPMyAdmin o simili, faremo accesso al DB, esportando solo le tabelle con prefisso “wprossi”, in un file compresso con uno dei vari metodi a disposizione.

A questo punto, sul sito definitivo del cliente, andiamo a caricare direttamente via FTP il salvataggio effettuato dall’area di sviluppo, avendo cura di scrivere i parametri corretti relativi al DB del cliente nel file config.php. e facciamo lo stesso con il database MySQL, importando il file compresso contenente le tabelle esportate.

Dal pannello di controllo PHPMyAdmin del cliente, andiamo a sostituire i due valori fondamentali nella tabella delle opzioni (nel nostro caso: wprossi_options): ovvero il valore “option_value” delle righe intitolate “site_url” e “home”, in cui andremo a scrivere direttamente l’url della home directory reale del cliente.

A questo punto, semplicemente facciamo accesso alla bacheca del nostro sito appena caricato, installiamo il plugin “search and replace” o simili (ne esistono di diversi, anche migliori) e provvediamo a sostituire nel db ogni occorrenza della stringa “www.acme.com/prova/rossi” con quella reale del cliente “www.rossi.com”.

Una volta effettuata la sostituzione, dovremo andare a modificare a mano eventuali pathname hard-coded nel tema, che però solitamente sono pochissimi, e anche quelli eventualmente inseriti nei plugin, se li abbiamo personalizzati in qualche modo.

Ultimo atto, andiamo nella bacheca di wordpress alla voce “Impostazioni – Permalink” e clicchiamo su “Salva”, forzando la rigenerazione di htaccess e delle opzioni relative ai permalink.

A questo punto il nostro sito sarà perfettamente funzionante ed in linea. Provvediamo a rinominare sul nostro spazio web l’area di prova del cliente, aggiungendo, ad esempio, un suffisso “old” alla cartella di root; nel nostro caso, www.acme.com/prova/rossi diventerà quindi www.acme.com/prova/rossiold. Controlliamo che il sito del cliente non dia degli errori 404 not found (dovuti probabilmente a qualche link che non abbiamo aggiornato).

Se tutto è ok possiamo cancellare definitivamente l’area temporanea e le tabelle dal database.

Effettuiamo un ultimo backup dell’area web del cliente via FTP e del database MySQL direttamente dal pannelo di controllo PHPMyAdmin e archiviamo il tutto.

Operazione terminata in massima sicurezza.

 

Dopo averlo usato per realizzare alcuni siti, non abbiamo dubbi. La versione 3.5 del noto CMS è decisamente problematica lato utente e al posto di migliorare l’interfaccia l’ha peggiorata e nemmeno di poco.

Parliamo del lato più evidente, ovvero del caricamento delle immagini e dei media a corredo di post e pagine. Non sappiamo per quale  motivo abbiano deciso di passare alla finestra a tutto campo, ma il problema è che, mentre nelle versioni precedenti tutto quello che serviva si trovava a portata di mano ed era caricato inline, adesso ti tocca viaggiare tra tre diverse finestre, in cui molto spesso alcuni campi non sono di evidente utilizzo.

Per non parlare dei problemi che ogni tanto spuntano quando carichi un’immagine e, al posto della thumbnail, ti trovi un bel quadrato grigio. Devi andare a modificarla e allora la preview, magicamente ricompare, dopodiché, tornando alla finestra precedente, la puoi finalmente rivedere.

Passiamo alla dashboard. Considerato che serve solo a chi sta “dietro le linee“, qualcuno ci spiega perchè hanno voluto andare a complicarsi la vita con le immagini in alta risoluzione? Nessun utente del pubblico vedrà mai quella parte, mentre chi ci lavora, di solito, o non ha a disposizione uno schermo retina oppure, se ce l’ha, non gliene frega niente di quanto sono belli i pulsanti in HD quando, per pubblicare un’immagine in un post o in una pagina, ci mette il doppio del tempo.

Per finire uno sguardo alla struttura interna e allo spauracchio di ogni aggiornamento: JQuery. Da questa versione i problemi con i conflitti causati da un anche solo imperfetto modo di usare questa libreria, causerà quasi sicuramente errori e malfunzionamenti. (Per inciso, se avete dei problemi sul pulsante per il caricamento dei media, il problema è nel modo in cui il tema installato carica JQuery).

Da un lato questo indurrà sicuramente molti programmatori a scrivere codice strutturato in modo più standardizzato, dall’altro creerà (e sta già creando) a molti sviluppatori un sacco di grattacapi che ritengo potevano essere comodamente evitati.

Ad ogni modo ricordiamoci sempre di una cosa: WordPress è uno dei CMS più usati al mondo, si è evoluto in modo incredibile negli ultimi anni e consente di sviluppare siti di notevole complessità. Il tutto gratis.

Non è da poco, ci pare!

Detto questo ci permettiamo un consiglio personale: prima di aggiornare dalla 3.4.2 alla 3.5, pensateci bene, soprattutto controllando quali e quanti plugin saranno compatibili con la nuova versione; scoprirete che sono parecchi quelli che possono avere problemi. Comunque preparate la cosa con cura. Create un ambiente di test e provate prima l’effetto che potrà avere l’aggiornamento prima di installarlo su siti in linea; e soprattutto non dimenticate un backup completo e controllato di tutto il sito e del database completo.

In caso di problema, tornare indietro senza questo accorgimento può davvero diventare un bagno di sangue!

 

A chiunque sviluppi siti WordPress based prima o poi capita l’empasse: che plugin uso per la condivisione su Facebook? Non dico social network a ragion veduta: tutti gli altri social hanno un’API ormai stabilizzata, compreso Google con il suo Plusone, per cui il codice è ormai standardizzato e semplice da inserire.

In effetti i problemi nascono proprio quando si tratta di implementare la condivisione su Facebook. Gli aspetti problematici sono due: da un lato le politiche di FB che cambiano ogni due per tre, dall’altro l’interazione di Open Graph che spesso presenta problemi di compatibilità, sia con il codice che con altri plugin.

L’inserimento diretto nei sorgenti dei temi può essere una soluzione ma va sempre valutato il fattore tempo: inserire il codice implica spesso un bello sforzo di programmazione che non sempre paga, soprattutto se si vogliono inserire funzioni diverse relative a FB, come ad esempio Like Box o commenti integrati.

Risulta quindi naturale utilizzare qualche plugin ben testato e manutenuto e limitare lo sforzo di programmazione all’inserimento della chiamata alla funzione nel punto desiderato del tema.

Qui sorgono i problemi: ad oggi, dire che esiste un plugin che funziona con tutti i temi e in congiunzione con tutte le altre funzioni social-related è semplicemente impossibile. C’è quello che funziona come Like ma non sceglie correttamente l’immagine, quello che se non metti l’immagine in evidenza non la tira fuori nemmeno sotto minaccia, quello che non compare sulla bacheca a meno che non aggiungi un commento e quello che funziona perfettaente fino a che non decidi di attivare qualche funzione jquery allorché smette misteriosamente di fare il suo lavoro.

Personalmente scelgo di volta in volta, personalizzando i plugin a seconda delle esigenze. Ad oggi i plugin che trovo più utlizzabili sono quelli qui di seguito.

Digg Digg

Sicuramente completo, anche se macchinoso da inizializzare. Però funziona (quasi) sempre senza troppe personalizzazioni.

 

 

 

Facebook Share (new) Button

 

Sicuramente non è il migliore e neppure il più recente (si ferma con la garanzia di compatibilità a WP 3.1.3). In compenso ha un codice molto chiaro da personalizzare e in poche righe lo si rende sempre compatibile con le versioni più aggiornate di WordPress.

 

 

 

Facebook Comments di Alex Moss

 

Comodo e funzionale. Inoltre presenta una notevole comodità di personalizzazione.

A volte mi è capitato che qualcuno non trovasse i campi personalizzati che abitualmente si trovano sotto l’editor di WordPress. La questione è risolta facilmente: la colpa è di un piccolo tab, che spesso sfugge all’attenzione, situato in alto a destra in tutte le schermate del backend. Eccolo qui sotto.

Cliccando sul tab “impostazioni schermo“, vi comparirà tutta una serie di opzioni, il cui numero dipende strettamente dai plugin che avete installato, oltre che dalla schermata in cui vi trovate. Se siete nell’editor, avrete una serie variabile di opzioni attivabili, ma sicuramente ci saranno come minimo quelle corrispondenti a “Riassunto”, “Invia Trackback”, “Campi personalizzati”, “Discussione”, “Abbreviazione” e “Autore”.

Ponendo il segno di spunta sulle opzioni desiderate, i campi relativi compariranno al di sotto della finestra dell’editor.

Una sciocchezza, ma di quelle che fanno perdere magari un’ora, proprio quando il tempo ti manca letteralmente sotto le dita.

Sembra un controsenso, una dichiarazione folle. E invece è vero. Proviamo ad analizzare il modo in cui funzionano i vari Social, Facebook in testa a tutti.

Ogni utente sui social network viene “profilato” (modo gentile per dire schedato), in base a quello che pubblica, condivide, e ai contenuti per cui esprime una preferenza, il famoso “Mi Piace”. Inoltre, vengono catalogate anche tutte le sue interazioni, quindi i contatti, cosa fanno questi contatti e così via, in un gigantesco calderone informativo che alla fine ha un solo scopo: vendere qualcosa.

Agli utenti, tramite pubblicità sempre più mirate, agli enti governativi, tramite il passaggio diretto o indiretto di informazioni sulle profilazioni.

Quindi un Social Network che offra servizi gratuiti ha fondamentalmente due scopi, entrambi riconducibili all’avidità: sapere cosa vendere a chi e quando e, alla pari, avere informazioni da vendere. Il business ovviamente è miliardario.

Il meccanismo è abbastanza ovvio e si basa sostanzialmente sul bisogno delle persone di essere riconosciute, di avere un loro spazio nella vita degli altri, oltre che naturalmente sul desiderio di protagonismo o di mostrare qualcosa che magari neppure esiste. Non è ovviamente il caso di disquisire su questo aspetto, quanto di comprendere che ciò che viene venduto è in realtà determinato dalla domanda.

Ci hanno sempre insegnato che uno dei trucchi più banali del marketing è quello di creare bisogni laddove non ne esistono. Ma quello che non ci hanno spiegato è che questa possibiltà esiste solo perchè le persone sono del tutto inconsapevoli della propria natura. Soprattutto però sono inconsapevoli del proprio potere. La nostra domanda ha il potere di creare un’offerta adeguata. Il bisogno viene creato solo quando c’è da vendere qualcosa che nessuno comprerebbe. Se quel bisogno non si creasse, perchè le persone smettono improvvisamente di rispondere a stimoli pavloviani, ecco che solo la loro domanda guiderebbe l’offerta.

In altre parole, e qui sta il doppio taglio dell’avidità, se per una qualche strana ipotesi gli utenti cominciassero a cliccare su contenuti di un certo tipo, ad esempio su contenuti spirituali, o anche semplicemente un po’ meno beceri di un iPhone nuovo o dei risultati della partita di calcio, ecco che l’offerta non potrebbe che adeguarsi. Allora magari ci vedremmo offrire, anziche un telefono che non serve a nessuno se non a quelli che lo vendono, un soggiorno in una località particolarmente armonica. Anziché un abbonamento ad un canale che trasmette solo programmi dedicati al calcio, potremmo ricevere l’offerta per un canale tematico sulla ricerca scientifica.

Capite dov’è il trucco (e al tempo stesso il problema)? Siamo noi a determinare quello che ci vene venduto, perchè siamo noi a comprare. Senza noi che acquistiamo non c’è vendita. Quindi il potere è nostro, non loro!

Bisognerebbe solo maturare un po’…

Si riparte! Eliminata la sezione Formazione (deputata a Pensiero Lucido) e Consulenza, ripartiamo solo con l’essenziale: Kokoro rinasce come Web Agency specializzata nella costruzione di Brand digitali. Aggiunta anche di un discreto portfolio, ormai immancabile.

Non solo siti web quindi ma soprattutto la capacità di fornire visibilità e, soprattutto, identità ai contenuti dei clienti. Quindi largo spazio ai Social Media, ai contenuti multimediali.

Ma principalmente, spazio ai contenuti. La rete oggi chiede questo soprattutto (i motori di ricerca poi lo esigono in particolar modo). Contenuti che devono essere presentati nel migliore dei modi.

Con tecnica, ovviamente, ma soprattutto con gusto e congruenza, e rispetto nei confronti di ciò che il cliente ha costruito magari in anni di attività.

Un sito rinnovato non poteva mancare per dire tutto questo ma anche un blog che per troppo tempo è stato fermo, complice l’attività un po’ frenetica di questi ultimi mesi. In questo spazio parleremo di Web, ovviamente, ma anche di tecnologia, software, strategie e tutto quanto concerne l’ambiente sempre più tecnologico in cui viviamo.

Grazie a quanti ci hanno seguito fino a qui, concedendoci la loro fiducia e a tutti quelli che vorranno concedercela in futuro.

Si riparte quindi con rinnovata energia e un pizzico di ottimismo in più!

 

Ancora un booktrailer per Adea Edizioni. In questo caso si tratta del lancio del nuovo libro di Vittorio Mascherpa, “Istruzioni per rendersi felici“.

Un po’ di olio di gomito, soprattutto sulla sincronizzazione della colonna sonora.

Molte persone oggi hanno trovato alcuni siti segnalati come promotori di Malware.

L’errore, già il secondo quest’anno, è dovuto ad una issue in Avast, che nel penultimo aggiornamento (l’ultimo è di pochi minuti fa), ha generato un bel po’ di errori.

Anche HiStats, il noto sito di statistiche web, forse il più usato nel mondo dei blogger, risultava infetto (ovviamente in modo del tutto illegittimo), da malware.

Avast ha già rilasciato l’aggiornamento che risolve il problema.

Suggeriamo a tutti coloro che hanno installato questo antivirus, di forzare l’aggiornamento delle definizioni per risolvere questo problema!

 

Con un post sul blog ufficiale di Google,  è stata annunciata ieri la prossima chiusura di Google Buzz. Sul post, firmato da Bradley Horowitz, viene spiegato il motivo.

“Noi lavoriamo per produrre strumenti utili, vale a dire strumenti che le persone possano usare due, anche tre volte al giorno. Per farlo, è molto importante pensare e capire su cosa lavorare e, alla stessa stregua, su cosa non lavorare.”

E così naufraga miseramente il tentativo (peraltro partito molto bene, quantomeno negli USA) di mettere in piedi un Social Network che potesse fare un minimo di concorrenza allo strapotere di Facebook.

In Italia lo startup aveva fatto chiaramente presagire il disastro all’orizzonte; a dieci giorni dal lancio, quando gli utenti nel mondo erano subito balzati a quota 10 milioni, in Italia solo 350.000 persone si erano iscritte.

A quanto pare, Google ha deciso di puntare tutto su Google+. Per tutti coloro che implementano il pulsante “Buzz” quindi, un avvertimento: verranno chiuse anche le API corrispondenti, quindi conviene passare quanto prima al “Plus One”, per non trovarsi con uno strumento non funzionante messo lì in bella vista.

Insieme a Buzz (oltre a Labs, come già preannunciato), anche Code Search e Jaiku moriranno il 15 Gennaio 2012. Anche per questi prodotti verranno disattivate le API relative.