Fabrizio Balliano: tracciare i visitatori nonostante varnish

26

Transcript of Fabrizio Balliano: tracciare i visitatori nonostante varnish

Page 1: Fabrizio Balliano: tracciare i visitatori nonostante varnish
Page 2: Fabrizio Balliano: tracciare i visitatori nonostante varnish

CHI SONOCHI SONOFabrizio Balliano

@fballiano

PHP dal 1999

Magento dal 2007

MCD MCD+ MCFD MCSS

magento.com/it admin

Full time Magento dal 2011

CTO di Sevenlike S.r.l.

Page 3: Fabrizio Balliano: tracciare i visitatori nonostante varnish

COS'È VARNISHCOS'È VARNISH

Web application acceleratorReverse proxy HTTPCache server

Enorme guadagno di velocitàMinor carico CPUMinor traffico di reteSoluzione full RAM

Page 4: Fabrizio Balliano: tracciare i visitatori nonostante varnish

COS'È VARNISH PER MAGENTOCOS'È VARNISH PER MAGENTO

Full Page Cache- HTML pre renderizzato

Asset statici- JS/CSS- Immagini

Page 5: Fabrizio Balliano: tracciare i visitatori nonostante varnish

ESEMPIO DI INFRASTRUTTURAESEMPIO DI INFRASTRUTTURA

Page 6: Fabrizio Balliano: tracciare i visitatori nonostante varnish

PERCORSO VISITATORI PERCORSO VISITATORI PAGINA NON IN CACHEPAGINA NON IN CACHE

Page 7: Fabrizio Balliano: tracciare i visitatori nonostante varnish

PERCORSO VISITATORI PERCORSO VISITATORI PAGINA IN CACHEPAGINA IN CACHE

Page 8: Fabrizio Balliano: tracciare i visitatori nonostante varnish

IL PROBLEMA È...IL PROBLEMA È...

I server webnon sono a conoscenza

di una visitaad una pagina in cache

Page 9: Fabrizio Balliano: tracciare i visitatori nonostante varnish

POSSIAMO TRACCIARE I VISITATORI POSSIAMO TRACCIARE I VISITATORI IN ALTRI MODI NO?IN ALTRI MODI NO?

Molti software di tracciamento moderni(in realtà servizi)

sono basati su javascript

Qualcuno ha detto Google Analytics?

Page 10: Fabrizio Balliano: tracciare i visitatori nonostante varnish

E SE VOLESSIMO TRACCIARE UN VISITATORE E SE VOLESSIMO TRACCIARE UN VISITATORE ALL'INTERNO DI MAGENTO?ALL'INTERNO DI MAGENTO?Personalizzare l'esperienza di browsingin base al comportamento del visitatore

Report a backend

Page 11: Fabrizio Balliano: tracciare i visitatori nonostante varnish

AD ESEMPIOAD ESEMPIO

Page 12: Fabrizio Balliano: tracciare i visitatori nonostante varnish

UN ALTRO ESEMPIOUN ALTRO ESEMPIO

Page 13: Fabrizio Balliano: tracciare i visitatori nonostante varnish

UN ALTRO ANCORAUN ALTRO ANCORA

Page 14: Fabrizio Balliano: tracciare i visitatori nonostante varnish

MA... SE I SERVER DI FRONTENDMA... SE I SERVER DI FRONTENDNON RICEVONO LE RICHIESTE...NON RICEVONO LE RICHIESTE...

QUESTE FEATUREQUESTE FEATURE(E ALTRI TIPI DI TRACCIAMENTO)(E ALTRI TIPI DI TRACCIAMENTO)

NON POSSONO FUNZIONARENON POSSONO FUNZIONARE

Page 15: Fabrizio Balliano: tracciare i visitatori nonostante varnish

COOKIES / LOCALSTORAGE?COOKIES / LOCALSTORAGE?Possiamo utilizzarli per ricreare i "recently viewed"?

Sì, ma non è abbastanza in molti casi.Risolve solo parte del problema.

Page 16: Fabrizio Balliano: tracciare i visitatori nonostante varnish

TORNIAMO AL NOSTRO PERCORSOTORNIAMO AL NOSTRO PERCORSO

Page 17: Fabrizio Balliano: tracciare i visitatori nonostante varnish

NOTATE QUALCOSA?NOTATE QUALCOSA?

Page 18: Fabrizio Balliano: tracciare i visitatori nonostante varnish

BLOCCHI DINAMICI!BLOCCHI DINAMICI!

Page 19: Fabrizio Balliano: tracciare i visitatori nonostante varnish

TIPI DI BLOCCHI DINAMICITIPI DI BLOCCHI DINAMICI

ESI: Edge Side IncludesInvisibili ai clientPrima del page loadPossono essere in cachetutto il sito/una pagina un solo utente/tutti NO COOKIES! Pochi dati trasferiti

AJAXVisibili ai client Dopo il page load Can NOT be cached COOKIES! Molti dati trasferiti

REFERENCE DELLA CONFIGURAZIONEREFERENCE DELLA CONFIGURAZIONE

Page 20: Fabrizio Balliano: tracciare i visitatori nonostante varnish

AGGIUNGIAMO UN NUOVO BLOCCOAGGIUNGIAMO UN NUOVO BLOCCODINAMICO!?DINAMICO!?

HEY, ASPETTA!HEY, ASPETTA!OGNI CHIAMATA AI SERVER WEBOGNI CHIAMATA AI SERVER WEB

È IMPORTANTE!È IMPORTANTE!

Page 21: Fabrizio Balliano: tracciare i visitatori nonostante varnish

POSSIAMO RAGGIUNGERE L'OBIETTIVOPOSSIAMO RAGGIUNGERE L'OBIETTIVOSENZA AGGIUNGERE UN NUOVOSENZA AGGIUNGERE UN NUOVOBLOCCO DINAMICO ESI/AJAX?BLOCCO DINAMICO ESI/AJAX?

Page 22: Fabrizio Balliano: tracciare i visitatori nonostante varnish

FLASH MESSAGES!FLASH MESSAGES!

Page 23: Fabrizio Balliano: tracciare i visitatori nonostante varnish

PATCH AL CORE?PATCH AL CORE?MAI!MAI!

Page 24: Fabrizio Balliano: tracciare i visitatori nonostante varnish

FLASH MESSAGES: ESTENDIAMOLIFLASH MESSAGES: ESTENDIAMOLIhttps://github.com/fballiano/magento-turpentine-recently-viewed

Page 25: Fabrizio Balliano: tracciare i visitatori nonostante varnish

FLASH MESSAGES: FLASH MESSAGES: ESTENDIAMOLIESTENDIAMOLI

class Fballiano_TurpentineRecentlyViewed_Block_Messages extends Nexcessnet_Turpentine_Block_Core_Messages{ public function _prepareLayout() { // code to do whatever we want return parent::_prepareLayout(); }}

Page 26: Fabrizio Balliano: tracciare i visitatori nonostante varnish

THANK YOU!THANK YOU!

http://fabrizioballiano.ithttp://twitter.com/fballianohttp://github.com/fballianohttp://linkedin.com/in/fabrizioballianohttp://www.sevenlike.com