i-node
  • i-node
  • i-node
  • i-node
  • i-node
 

Latest News

Bug sull’internazionalizzazione di Zimbra 7 e Zimbra 8 riguardante gli allarmi e le rischedulazioni dei meeting

 

Dopo aver aggiornato all’ultima versione di Zimbra Collaboration Suite, sia essa la stabilissima 7.2 o la più performante 8.0, abbiamo incontrato alcune difficoltà relative alla traduzione di alcuni componenti relativi al calendario ed alla possibilità di inserire degli allarmi. Questi problemi si sono ripercossi su varie componenti, incluse alcune zimlet della 7.2, divenute parte di Zimbra 8 (invia e ricorda, per esempio) che si appoggiano sul calendario per svolgere alcune attività specifiche. Per risolvere questo particolare problema, abbiamo dapprima seguito alcuni hint da parte di VMWare scritti dentro al sistema di bug tracking, ma poi abbiamo preferito realizzare, per quanti non intendessero attendere la prossima release di Zimbra Collaboration Suite, un piccolo howto per risolvere il problema.

Nel campo della programmazione, vige una regola tanto ovvia quanto veritiera: più corposo è il software, più è facile che esso presenti dei “bug”. A questa regola non scampa neppure Zimbra Collaboration Suite, uno dei migliori groupware (software collaborativo) Open Source esistenti sul mercato, ampiamente in grado di tener testa a prodotti come Microsoft Exchange, diventando di questo uno splendido replacement.

In particolare, nelle ultime versioni del ramo 7 (7.2.X) e nella 8.0.0, è presente un bug fastidioso che affligge la localizzazione dei formati dell’ora e della data.

Alcuni clienti e i nostri dipendenti, infatti, segnalavano che nell’inserimento di un promemoria negli appuntamenti di calendario, si visualizzassero opzioni come “5,000 minuti prima“, “10,000 ore prima“;  in generale, i valori visualizzati erano moltiplicati per 1000.

Nell’attesa che fosse rilasciato l’aggiornamento di Zimbra Collaboration Suite con la relativa patch, abbiamo applicato manualmente la seguente soluzione:

Accedere al file

/opt/zimbra/jetty/webapps/zimbra/WEB-INF/classes/messages/I18nMsg_it.properties

(o il relativo file “I18nMsg_XX.properties”, dove “XX” è la localizzazione da correggere).

Sostituire le seguenti righe:

formatNumber = #.##0,###
formatNumberCurrency = u00a4 #.##0,00;(u00a4 #.##0,00)
numberSeparatorDecimal = ,
numberSeparatorGrouping = .
numberSeparatorMoneyDecimal = ,

Con:

formatNumber = #,##0.###
formatNumberCurrency = #,##0.00 u00a4;(#,##0.00 u00a4)
numberSeparatorDecimal = .
numberSeparatorGrouping = ,
numberSeparatorMoneyDecimal = .

Accedere al file
/opt/zimbra/jetty/webapps/zimbra/js/Startup2_all.js
Aggiungere, sotto la riga:

snoozeUnitStrings[3] = AjxMsg.week;

La seguente riga:

snoozeUnitStrings[4] = "minuti";

Poi, sostituire la seguente riga:

if (snoozeString.indexOf(snoozeUnitStrings[i]) >= 0) {

Con:

if (snoozeString.indexOf(snoozeUnitStrings[i].toLowerCase()) >= 0) {

Applicare le modifiche e riavviare il seguente servizio di zimbra:
(da root)

# gzip -cS .zgz /opt/zimbra/jetty/webapps/zimbra/js/Startup2_all.js > /opt/zimbra/jetty/webapps/zimbra/js/Startup2_all.js.zgz
(da utente zimbra)
$ zmmailboxdctl restart

Alcuni clienti continuavano a visualizzare gli errori nei promemoria, in quei casi è stato necessario svuotare la cache web dei loro browser, policy comunque suggeribile in genere per tutti.

La semplice soluzione che abbiamo applicato è l’ennesima dimostrazione dei vantaggi dell’Open Source: non abbiamo dovuto aspettare il rilascio di una nuova versione del software nè di contattare l’assistenza del prodotto, è stato sufficiente leggere il thread del bug in questione e adottare le misure necessarie per risolverlo, senza particolari dispendi di tempo e di energie, e col miglior risultato possibile.
Carlo Rengo

 
28
novembre
2012