Gli ultimi post nel blog

JooCode Projects: aggiornamenti

Continua lo sviluppo di JooCode Projects, web app progettata per la gestione di progetti e task.

Ho apportato alcune modifiche al template per renderlo più gradevole.

I caratteri ed il layout è molto più grande di quanto non fosse prima, rendendo la pagina più adatta alla visione su schermi di grandi dimensioni. Lo schema di colori è ora azzurro, nero e grigio.

La seconda modifica principale riguarda l'inserimento di una nuova issue, o ticket.

Come si può notare dall'immagine sotto riportata, è stato ingrandito il campo che contiene il nome.



JoomlaDay Italia 2010

Si terrà il 9 ottobre 2010 a Verona il JoomlaDay Italia 2010! Maggiori informazioni sul sito joomla.it.



Disponibile Joomla 1.6 Beta 3

Continua il cammino di Joomla 1.6 verso una prima versione stabile.

E' oggi il turno della beta 3, che corregge oltre 102 problemi.

Qui il download, e di seguito il changelog dall'ultima beta 2.

Legend:
* -> Security Fix
# -> Bug Fix
$ -> Language fix or change
+ -> Addition
^ -> Change
- -> Removed
! -> Note
14-Jun-2010 Jean-Marie Simonet
[#21007] Alias in list views does not support RTL. Thanks Andrew.
$ Consolidated "Alias" value.
$ Consolidating for RTL support the Filter string/value in back-end
$ Consolidated "Description" value + some.
# [#20979] single contact - enable show contact list. Thanks Tim.
14-Jun-2010 Mark Dexter
# [#21008] Hide new login button just introduced to login screen
# [#20529] User-Profile Plugin field settings ignored
# [#20625] Submit a web link -save error [strict]
14-Jun-2010 Andrew Eddie
# Fixed issue [#20884] banner manager export not working fatal error (Rob Joyce, Phil Snell).
13-Jun-2010 Ron Severdia
^ Fixed select user button (Thanks Tim Plummer)
# Reverting BlueStork error.php changes from previous commit. Will break until params bug is fixed.
^ Relocate note & language fields to panel in Category & Article Manager (Thanks Tim Plummer)
# News feed language fixes
# Fixed template params in error.php (reverted until fixed)
# Fixed CSS on ACL panel
^ Sync up label CSS
^ Little clean up and commenting in BlueStork CSS
^ Relocate language dropdown in news feed (Thanks Tim Plummer)
13-Jun-2010 Jean-Marie Simonet
$ Normalizing Cpanel link in all admin error.php
# Reverting part of new bluestork error.php [Revision 17643] as it breaks error display.
# [#20992] [patch] Toolbar may generate code that is not well formed. Thanks Rouven.
$ [#20991] Change Metadata to Metadata Options. Thanks Michael.
# [#20996] Hathor CSS font-size fixes. Thanks Andrea.
12-Jun-2010 Mark Dexter
# Fix asset table problems in sample data (Elin Waring)
12-Jun-2010 Ron Severdia
# Fixed category header (Thanks Babs Gosgens)
^ Fixed weblinks header icon (Thanks Tim Plummer)
^ Move language dropdown to panel (Thanks Tim Plummer)
^ [#20618] Fixed IE login bug
# Fixed modal widths (contents still need love)
# [#20640] Fixed favicon MIME type (Thanks Rouven Wesling)
^ Changed order icon to bg CSS and added inactive state
# Fixed required indicator on IE
^ Changed layout to 60/40 on edit banner client & edit contact
- Removed deprecated IE6 stylesheet
# Fixed language screen filter
+ Fixed BlueStork error.php page
12-Jun-2010 Jean-Marie Simonet
# [#20980] [patch] Hathor patches to Newsfeed Modal. Thanks Andrea.
$# Added a bunch of missing strings values, corrected some keys (Thanks Stella), added sticky field in banner parameters.
# [#20579] Time Change for Server/User does not update. Thanks Christophe.
# [#20648] mod_wrapper: error on getting params. Thanks Riccardo and Elin.
# [#20782] Username Reminder Request Incorrect. Thanks Airton.
# [#20983] Issue with linking articles that have apostrophe in them. Thanks Christophe.
#$ Missing string/change key
$ [#20990] Remove excess JLIB_FORM_CHANGE_USER definition. Thanks Michael.
11-Jun-2010 Christophe Demko
# Fixed issue [#20867] [Patch] Changes to Hathor to mirror changes in core admin layouts (Andrea Tarr)
# Fixed issue [#20968] Fix Category Parameters in Featured Menu Item (Mark Dexter, bill richardson)
# Fixed issues in the component installer and in com_alpha component
11-Jun-2010 Jean-Marie Simonet
# [#20489] JTableAsset::store failed. Thanks Christophe.
# [#20962] [files and patch] Hathor error page. Thanks Andrea.
# Corrected code duplication in hathor modal.php
# [#20965] When in: Article Manager: Articles, Select language select does not work. Thanks Bill.
10-Jun-2010 Christophe Demko
# Fixed issue [#20952] Joomla does not load template language file when an error is detected
10-Jun-2010 Jean-Marie Simonet
# [#20791] settings not saved on first step of installer. Thanks Rune.
# [#20914] getOptions at category.php. Thanks Andrew.
$ Added missing string
$ Changed string in banner/tracks toolbar
09-Jun-2010 Sam Moffatt
# Fixed bug where updates from deleted update sites were visible after extension uninstall
+ Added convenience to adapter layer to pass through properties to instances in a uniform manner
09-Jun-2010 Christophe Demko
# Fixed issue [#20938] [patch] Missing </ul> in layout override (Andrea Tarr)
09-Jun-2010 Jean-Marie Simonet
# [#20913] Minimum PHP version check in installer. Fixed for php.5.2.4
# [#20939] textual error in article manager config page. Thanks Troy.
# [#20570] archived articles - title linkable. Thanks Christophe.
# [#20940] email validation creating user account gives bad error message. Thanks Bill and Rob.
$ Adding missing string.
# [#20854] Adding article from filtered Category. Thanks Phil.
09-Jun-2010 Andrew Eddie
# Added format to invalid controller exception.
# Fixed issue [#20872] beez_20 javascript error when #nav is not present (Phil Snell, Bill Richardson).
# Fixed issue [#20901] PHP Notices when creating a 'External URL' menu item pointing to internal url (Rune Sjøen).
# Fixed issue [#20927] [patch] JModelAdmin Improvements (Omar Ramos).
08-Jun-2010 Christophe Demko
# Fixed issue [#20913] Minimum PHP version check in installer (Rune Sjøen, Artyom Bisyarin)
# Fixed issue [#20896] Once you link a user from a contact, you can't go back to no linked user. (Elin Waring, Rune Sjøen)
# Fixed issue [#20894] Missing colon in user profile langauge file (Peter Osipof, bill richardson)
# Fixed issue [#20578] Category Manager (Loyd Headrick, Hannes Papenberg)
# Fixed issue [#20903] If an article ever has readmore in it, it can't be deleted (Elin Waring, bill richardson, Gobezu Sewu)
# Fixed issue [#20811] Use global missing in web links Target parameter (Stefania Gaianigo, Tim Plummer)
08-Jun-2010 Sam Moffatt
^ Minor fixes to package installer adapter for translation
08-Jun-2010 Mark Dexter
# Sample data fixes (Elin Waring)
08-Jun-2010 Jean-Marie Simonet
$ Added en-GB.plg_content_example.sys.ini
$ [#20911] CSS in backend error template is broken. Thanks Hannes.
# [#20915] [patch] GeSHi plugin has random die('here') statement. Thanks Rune.
07-Jun-2010 Sam Moffatt
# Fixed the package installer to behave properly
^ Minor code clean up in a few places
07-Jun-2010 Jean-Marie Simonet
# [#20887] Creating account from front-end does not use default group. Thanks Rune
$ Modified string
# [#20885] non localized field deleting trash in banners Tracks. Thanks Bill.
07-Jun-2010 Christophe Demko
# Fixed issue [#20873] modules are'nt displayed in admin when using the root_user feature
# Fixed issue [#20870] Security issue concerning the root_user feature
# Fixed issue [#20869] Displaying a useless message in admin login form when root_user feature is used
^ Reverting patch #17504
# Fixed issue [#20812] User profile information visible on registration even when disabled. (Amy Stephen)
06-Jun-2010 Christophe Demko
# Fixed issue [#20703] Missing noscript warning for javascript disabled browsers (Nikolai Plath)
# Fixed issue [#20816] CodeMirror does not highlighting css code - syntax selector hard coded (Nikolai Plath)
# Fixed issue [#18923] JURI::buildQuery does not deal correctly with multidimensional array (Omar Ramos, Antoine BERNIER)
06-Jun-2010 Jean-Marie Simonet
# [#20853] Sorting by author in Category list. Thanks Phil.
# [#20861] plg_user_joomla missing language declaration in manifest.
# [#20858] Administrator Editor Media Dialog modal-box height requires scrolling  Thansk Bill.and Ofer.
# [#20843] wrong constant specified for error message in controllerform.php - missing language key. Thanks Bill and Nikolai. + some
# [#20864] Missing cache language strings, cache_lite detection bug [patch]. Thanks Klas. WIP: do sesssion.
# [#20754] missing language string
# [#19430] Cannot change ordering of items (in fact string typo)
05-Jun-2010 Jean-Marie Simonet
# [#20846] Corrected strings for contact creator. Thanks Elin.
# [#20815] When a contact is created automatically via contact creator plugin. Thanks Radek and Phil.
#$ Corrected wrong sprintf
# [#20484] Requested for joomla.json download after uploading image. Thanks John.
# [#20321] Email functions not working properly. Partly fixed only.
04-Jun-2010 Jean-Marie Simonet
# [#20768] It is possible to create a single-contact menu entry without selecting a contact. Thanks Artyom and Phil.
$ Added missing string
03-Jun-2010 Jean-Marie Simonet
# [#20744] Logout link in administrator panel isn't logout when editing content. Thanks Andrew.
$ Missing strings
# [#20768] It is possible to create a single-contact menu entry without selecting a contact. Thanks Amy.
# [#20761] Unclear how to select contact for single contact menu item. Thanks Elin.
# [#20603] Error while trying to use PageBreak from frontend. Thanks Bill.
03-Jun-2010 Christophe Demko
# Fixed issue [#20813] Value Not Found for blank user field (bill richardson, Peter Osipof)
# Fixed issue [#20591] Cannot delete all usergroups from an access level (Robert Flodstrom)
# Fixed issue [#20825] [patch] Debug plug-in doesn't output well formed code (Rouven Wesling)
# Fixed issue [#20697] Uninstalling a component does not remove menu items of that component type
# UI enhancement for com_menus
# Fixed issue [#20805] Module linked to menu links (Aytug AKAR, Nikolai Plath, bill richardson)
# Fixed issue [#20820] menu create - single contact typo error (bill richardson)
# Fixed issue [#20789] featured contacts (bill richardson)
# Fixed issue [#20819] Incorrect Label on Access Level Filter box on User Manager Access Level Screen (Ian McLennan)
02-Jun-2010 Jean-Marie Simonet
# [#20787] some misc html typos. Thanks Phil.
# [#20677] duplicate key error. Thanks Nicholas.
# [#20506] Field required: cache_handler - message in Global Config. Thanks Christophe and Klas
# [#20809] Unable to run installation in IE8. Thanks Ian
02-Jun-2010 Andrew Eddie
# Fixed issue [#20771] validate.js causing problems with IE8 (Bill Richardson, Phil Snell).
# Fixed issue [#20788] Error when saving template style for administrator template.
02-Jun-2010 Christophe Demko
# Corrected the atomic template since its index.php file is not a correct xml file
# Fixed issue [#20758] Property root_user in configuration could be a big security breach. (thanks Henrik Hussfelt, Martin Blodau, Andrew Eddie).
# Fixed issue [#20795] user profile plugin typo error (thanks bill richardson)
# Fixed issue [#20783] A lot of issues related to searching and language switcher
# Fixed issue [#12757] JDate override problem in Backend
# Fixed issue [#20784] Some minor errors in the beez* templates
01-Jun-2010 Jean-Marie Simonet
# [#20724] HTTP Directory Listing. Thanks Amy.
# [#20521] usability issue: Item ID not visible during edit. Thanks Tim.
# [#20741] error in profile plugin manifest. Thanks Nicholai.and Boris.
# [#20743] Module manager issues with enabled caching. Thanks Dennis.
# [#20756] Metakeys and metadesc when using langswitcher
# [#20765] Missing language strings in en-GB.com_newsfeeds.ini (Thanks Stella) + some
31-May-2010 Jean-Marie Simonet
# [#20537] Edit articles in frontend sometimes gives a blank edit page. Thanks Dennis.
31-May-2010 Mark Dexter
# Fixed issue [#20718] Issue with JLanguageTest (Tudor Mazilu).


I tweet della settimana 2010-06-13

  • I add that Reader is the best thing added to a browser in years #
  • Safari 5 with the Reader function wins my personal "Browser of the Month" competition #
  • finally an usable address bar for Safari 5! #
  • One of my favourite books, Mastering Joomla! 1.5 Extension and Framework Development, gets an update! Great! http://bit.ly/bNGCOb #
  • Expert PHP 5 Tools Book Review http://blog.joocode.com/en/books/expert-php-5-tools-book-review #
  • Back from the weekend, is there something new? What? HMVC? Nothing strange, usual life in the Nookusphere! http://bit.ly/9gii6l #


Review del libro Expert PHP 5 Tools

In questi giorni ho avuto il piacere di leggere un libro molto interessante che parla di programmazione (in lingua inglese) usando il linguaggio PHP 5: Expert PHP 5 Tools.

Dando per scontate le basi del linguaggio, che si possono trovare in centinaia di altri titoli, questo libro concentra i propri sforzi intorno ai tool che possiamo utilizzare per rendere il nostro lavoro più produttivo, semplice e definitivamente migliore.

Le oltre 400 pagine, divise in 10 capitoli, introducono e spiegano in ogni dettaglio svariati argomenti avanzati e di sicuro interesse per lo sviluppatore/architect. Vediamo ciascuno nel dettaglio.

Coding Style and Standards

La scelta di uno stile di scrittura del codice non è una operazione semplice: dipende dalle abitudini, dal framework di riferimento preferito, da regole interne al gruppo di sviluppo.

Ecco alcune informazioni teoriche ed spiegazioni per rendere operativo il tool PHP_CodeSniffer e customizzarlo per le nostre esigenze.

Documentation with phpDocumentor

La documentazione a livello di codice è fondamentale, per se e per i collaboratori che dovranno interagire con il nostro codice. I DocBlocks sono spezzoni di commento formattati in modo particolare, in modo da poter essere interpretati da phpDocumentor, un tool in grado di estrapolare questi commenti dal codice sorgente e generare una serie di documenti facilmente leggibili e stampabili.

The Eclipse IDE

Eclipse è una delle IDE Open Source più diffuse. Non solo, il plugin per PHP è utilizzato da altre IDE come Aptana Studio. Ecco come configurare correttamente questa IDE per lo sviluppo PHP.

Source Code and Version Control

I benefici dell'uso di uno strumento di controllo delle revisioni sono talmente tanti che non li elenco. E' uno strumento obbligatorio per chiunque, tanto per il gruppo di sviluppatori, tanto per il singolo.

Senza contare che avere un repository online permette un facile backup del codice ed un deploying automatizzato.

In questo capitolo viene analizzato nel dettaglio il sistema più diffuso, Subversion.

Debugging

Ciascuno sviluppatore ha un metodo preferito per il debug di una applicazione: dall'uso di var_dump ed echo fino alle funzioni dedicate di php, come debug_backtrace().

Il passo successivo è l'utilizzo di un tool avanzato come Xdebug, o Zend Debugger. Viene analizzato il primo, Xdebug, nel dettaglio.

PHP Frameworks

C'è a chi piace e a chi no, ma un framework di sviluppo rende la vita sicuramente più semplice e consente allo sviluppatore di generare codice sicuro e con meno bug possibili. Il framework di riferimento dipende dall'ambiente operativo e da scelte che spesso non possiamo condizionare. Qui viene analizzato Zend Framework.

Testing

Come può un libro di questo calibro non prendere in considerazione il testing delle applicazioni? Dopo aver introdotto i vari metodi di testing (black, white, gray box) ed i tipi di test (unit, integration, regression, system, user acceptance testing) viene spiegato in dettaglio come utilizzare PHPUnit per eseguire unit test.

Deploying Applications

Alla carrellata di tool sviluppati in PHP, pensati per sviluppatori PHP, non si può assolutamente ignorare Phing. Questo tool è il corrispettivo di Ant, popolare nel mondo Java (ma non solo). Ecco come configurarlo, utilizzarlo e fare il setup di un sistema di deploying automatizzato.

PHP Application Design with UML

Viene brevemente introdotto UML come tool di sviluppo, ma UML è molto di più e non può essere spiegato così brevemente in 30 pagine.

Questa spiegazione può essere una ottima infarinatura iniziale, ma per motivi di spazio e di topic non può certo essere esaustiva.

Continuous Integration

Come conclusione viene spiegato come combinare i tool spiegati nei capitoli precedenti ed organizzare un ambiente di Continuous Integration e lavorare nel miglior modo possibile nel gruppo di sviluppo.

Usando phpUnderControl (o in alternativa XINC) è possibile configurare un server che esegua in modo automatico le operazioni di controllo della conformità agli stili di codice, build, unit test e generazione della documentazione, allertando chi di dovere in caso di problemi.

In definitiva un libro eccezionale per chi si dedica seriamente allo sviluppo PHP e vuole fare un grosso passo avanti nei propri metodi ed abitudini quotidiane.