Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wordpress e la gestione di progetti complessi

2,921 views

Published on

Nello sviluppo di progetti complessi sono richiesti efficienza, efficacia ed appropriatezza.
Questi 3 aspetti possono rappresentare il cuore di un modello di qualità capace di favorire la gestione delle complessità.

Considerando come “macro-obiettivo” la pubblicazione di un sito saranno presentati i requisiti generalmente considerati di “efficienza” e gli strumenti che possono rendere il lavoro più “efficace”

Published in: Technology
  • Be the first to comment

Wordpress e la gestione di progetti complessi

  1. 1. WordPressSviluppo e Qualità di MAURIZIO PELIZZONE WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  2. 2. MAURIZIO PELIZZONE Maurizio Pelizzone http://maurizio.mavida.com Twitter: @miziomon Linkedin: http://www.linkedin.com/in/mauriziopelizzoneBIO Dal 2001 co-titolare di una mavida, webagency che offre servizi e consulenza su tutto il territorio nazionale. Dal 2008 sviluppa plugin e template personalizzati con WordPress. Nel tempo libero socializza con i giochi da tavolo.WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  3. 3. GESTIRE PROGETTI COMPLESSIWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  4. 4. ABSTRACT Nello sviluppo di progetti complessi sono richiesti efficienza, efficacia ed appropriatezza. Questi 3 aspetti possono rappresentare il cuore di un modello di qualità capace di favorire la gestione delle complessità. Considerando come “macro-obiettivo” la pubblicazione di un sito saranno presentati i requisiti generalmente considerati di “efficienza” e gli strumenti che possono rendere il lavoro più “efficace”WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  5. 5. LA QUALITÀ AIUTA A GESTIRE LA COMPLESSITÀWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  6. 6. EFFICACIAWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  7. 7. EFFICACIA “raggiungere un obiettivo entro scadenza”WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  8. 8. EFFICIENZAWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  9. 9. EFFICIENZA “raggiungere un obiettivo entro scadenza con un consumo appropriato di risorse”WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  10. 10. REQUISITI • Disponibilità (accessibilità / user experience) • Sicurezza • Perfomance • Valore (contenuti e comunicazione)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  11. 11. REQUISITI • Disponibilità (accessibilità / user experience) • Sicurezza • Perfomance • Valore (contenuti e comunicazione)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  12. 12. PREREQUISITI • Ambiente di svilippo in locale • IDE (NetBeans, Eclipse, PhpStorm, ZendStudio) • Coding Standards (WordPress, Zend, PSR) • Controllo di versione (git, svn) • Unit Testing • Continuous integrationWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  13. 13. AMBIENTE DI SVILUPPO LOCALEWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  14. 14. AMBIENTE DI SVILUPPO LOCALEWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  15. 15. CONFIGURAZIONE • Creare un VirtualHost su apache • Gestire il file hosts • Aggiungere database a MySQL • Modifica wp-config.php per la gestione di ambienti diversi (locale,stage,produzione)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  16. 16. <VirtualHost *:80> ServerName website.local ServerAlias www.website.local DocumentRoot "C:/path/to/your/site" <Directory "c:pathtoyoursite"> Options Indexes FollowSymLinks MultiViews RewriteEngine On AllowOverride all Require all granted </Directory></VirtualHost>
  17. 17. …if (file_exists(dirname(__FILE__) . /wp-config-local.php)) { include( dirname(__FILE__) . /wp-config-local.php );} else { define(DB_NAME, ‘dbname); define(DB_USER, ‘username); define(DB_PASSWORD, ‘password); define(DB_HOST, localhost); define(DB_CHARSET, utf8); define(DB_COLLATE, );} // end ifdefine(WP_CONTENT_URL, http:// . $_SERVER[HTTP_HOST]);define(WP_SITEURL, http:// . $_SERVER[SERVER_NAME]);define(WP_HOME, http:// . $_SERVER[SERVER_NAME]);
  18. 18. INTEGRATED DEVELOPMENT ENVIRONMENTWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  19. 19. VANTAGGI • Gestione progetti • Gestione sintassi • Autocompletamento codice • Navigazione classi e funzioni • Integrazione (ftp,git,phing,unit test)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  20. 20. CODING STANDARSWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  21. 21. CONTROLLO DI VERSIONEWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  22. 22. GIT • Integrato con i più importanti IDE • Client multipiattaforma • Funziona in locale (no server) • Ampia documentazione • Github Community (online hosting using Git.)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  23. 23. UNIT TESTINGWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  24. 24. PHPUNIT
  25. 25. CRITICITA’ PHPUNIT • Curva di apprendimento rigida • Difficile scrivere test “furbi” • Difficile scrivere test dopo… • TDD non sempre è possibile • “efficienza” dopo molto esercizioWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  26. 26. CONTINUOS INTEGRATIONWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  27. 27. PHING (ESEMPI) • Esecuzione Unit Test • Backup automatici • Caricamento FTP • Gestione file (copia/sposta/cancella) • Integrazione git / svnWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  28. 28. COME CONTROLLARE LA QUALITÀ?WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  29. 29. STRUMENTI DI CONTROLLO • Checklist • BenchmarkWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  30. 30. CHECKLIST SICUREZZAWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  31. 31. CHECKLIST • Custom Setup • Pianificato manutenzione • Unit Testing • Penetration test • Backup • Automazione deployWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  32. 32. BENCHMARK PERFORMANCEWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  33. 33. BENCHMARK • Tempo caricamento pagina • Tempo di esecuzione • Numero di Query • Cache interna • Cache html su parti di templateWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  34. 34. DOMANDE? ?WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  35. 35. Grazie Pelizzone Maurizio @miziomon maurizio@mavida.com http://www.mavida.com http://maurizio.mavida.com

×