Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
Ricordati di inserire la versioni di Odoo per cui poni la domanda

ARGOMENTO: Odoo V9 UTC

Odoo V9 UTC 1 Anno 8 Mesi fa #28657

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Il tuo sistema funziona correttamente. :barmy:
Tutti i dati nel DB sono inseriti con il timezone UTC indipendentemente dall'origine. :please:
Questo è il comportamento corretto e non ci sono contro ma solo pro.

L'utilizzo esclusivo di UTC nelle registrazioni garantisce l'integrità dei dati e la possibilità di migrare il DB in qualsia zona del pianeta. Senza UTC non potrebbe essere garantita l'integrità dando realmente origine al problema che stai segnalando, senza alcuna possibilità di soluzione

Nel tuo caso, invece, non tenendo conto dell'orario UTC ti "inventi il problema". :laugh:

Ti ho fatto un esempio nel mio primo intervento , spiegandoti cosa succede. Leggi attentamente, poi quando estrai i dati effettua le dovute correzioni di timezone.

Ribadisco, senza la registrazione tremite UTC non saresti in grado di gestire correttamente i dati.
Senza UTC al cambio di ora legale/ora solare i sistemi andrebbero in tilt.
Senza UTC lo schedulatore (cron) funzionerebbe a casaccio
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: WildWolf

Odoo V9 UTC 1 Anno 8 Mesi fa #28658

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Antoniov ha scritto:
Tutti i dati nel DB sono inseriti con il timezone UTC indipendentemente dall'origine. :please:
Questo è il comportamento corretto e non ci sono contro ma solo pro.

Su questo non concordo Antonio ... finché possibile il dato andrebbe inserito con timezone.

Attenzione CON TIMEZONE non NEL TIMEZONE perchè son due cose molto diverse.

Il dato senza timezone su odoo è per ragioni storiche e un non nulla di prestazioni (che poi parlare di prestazioni si potrebbe scrivere un libro sulle altre priorità).

Non vi è praticamente nessuna controindicazione nell'uso del tipo postgres con timezone.

Lo svantaggio principale è la perdita di informazione che se ne ricava, su molte registrazioni non serve a nulla ma in alcune come timesheet e presenze si.

L'utente è entrato alle 8AM ok ma di quale timezone?, devo andarlo a leggere sulle impostazioni dell'utente ma se queste son variate (perchè le ha cambiata del profilo) non ho piu' modo di correlarle correttamente. Perdo informazione appunto.
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: WildWolf

Odoo V9 UTC 1 Anno 8 Mesi fa #28659

  • WildWolf
  • Avatar di WildWolf
  • Offline
  • Senior Boarder
  • Messaggi: 52
  • Karma: 0
Antoniov ha scritto:
Il tuo sistema funziona correttamente. :barmy:
Tutti i dati nel DB sono inseriti con il timezone UTC indipendentemente dall'origine. :please:
Questo è il comportamento corretto e non ci sono contro ma solo pro.

L'utilizzo esclusivo di UTC nelle registrazioni garantisce l'integrità dei dati e la possibilità di migrare il DB in qualsia zona del pianeta. Senza UTC non potrebbe essere garantita l'integrità dando realmente origine al problema che stai segnalando, senza alcuna possibilità di soluzione

Nel tuo caso, invece, non tenendo conto dell'orario UTC ti "inventi il problema". :laugh:

Ti ho fatto un esempio nel mio primo intervento , spiegandoti cosa succede. Leggi attentamente, poi quando estrai i dati effettua le dovute correzioni di timezone.

Ribadisco, senza la registrazione tremite UTC non saresti in grado di gestire correttamente i dati.
Senza UTC al cambio di ora legale/ora solare i sistemi andrebbero in tilt.
Senza UTC lo schedulatore (cron) funzionerebbe a casaccio

Ciao
Capisco il tuo punto di vista, ma non lo condivido.
Facciamo un distinguo, tra registrazione dei server e registrazione dati utente, per quanto riguarda le registrazioni del server, potrei anche essere d'accordo anche se non completamente, nel senso mi e già capitato di avere problematiche simili con altre tipologie di software di sviluppo, e ti assicuro che vengono considerati come "Issues development software", e nelle nuove versioni puoi corrette dagli stessi sviluppatori, senza causare nessun tilt. Comunque per quanto riguarda la registrazione dati server come log, registrazioni delle scritture e quant'altro ... il problema è risolvibile impostando il time zone del server su UTC e cambiando l'ora in locale le registrazioni avvengono con l'orario locale corretto.

Nel caso di registrazione dell'utente questo è assolutamente un "baco di sviluppo" il dato che immetto non deve essere assolutamente legato a nessun o quanto meno il Time Zone locale dell'utente, questo perche non mi interessa registrare l'ora UTC, ma be si mi registrare l'ora in cui l'utente si è recato al lavoro, indipendentemente do dove si trovi.
Localmente per lui sono le 8 del mattino e non le 12 e quando estraggo i dati dal data base mi devo ritrovare l'esatta ora di ingresso e non quella dell'impiegato di Monrovia in Africa :) a meno che lui non si trovi li :-D, in oltre si inciampa in un ulteriore problema, se mi sposto nella figliale in California ad esempio, dove vi è un time zone differente, e ricontrollo il dato inserito quando ero qui a Filadelfia la visualizzazione in Odoo non è la stessa, anziché visualizzare le ore 8,00AM mi visualizza le 5,00AM, totalmente errato.
Ultima modifica: 1 Anno 8 Mesi fa da WildWolf.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Odoo V9 UTC 1 Anno 8 Mesi fa #28660

  • WildWolf
  • Avatar di WildWolf
  • Offline
  • Senior Boarder
  • Messaggi: 52
  • Karma: 0
gigidn ha scritto:
Antoniov ha scritto:
Tutti i dati nel DB sono inseriti con il timezone UTC indipendentemente dall'origine. :please:
Questo è il comportamento corretto e non ci sono contro ma solo pro.

Su questo non concordo Antonio ... finché possibile il dato andrebbe inserito con timezone.

Attenzione CON TIMEZONE non NEL TIMEZONE perchè son due cose molto diverse.

Il dato senza timezone su odoo è per ragioni storiche e un non nulla di prestazioni (che poi parlare di prestazioni si potrebbe scrivere un libro sulle altre priorità).

Non vi è praticamente nessuna controindicazione nell'uso del tipo postgres con timezone.

Lo svantaggio principale è la perdita di informazione che se ne ricava, su molte registrazioni non serve a nulla ma in alcune come timesheet e presenze si.

L'utente è entrato alle 8AM ok ma di quale timezone?, devo andarlo a leggere sulle impostazioni dell'utente ma se queste son variate (perchè le ha cambiata del profilo) non ho piu' modo di correlarle correttamente. Perdo informazione appunto.

Condivido quanto detto da te, e ritengo che l'orario di entrata sia in modo manuale che in automatico debba essere registrata prendendo come time zone quello del PC dell'utente, che normalmente per policy non è modificabile e sempre impostato su automatico, e visualizzare il dato in modo da non essere assoggettato alle variazioni di Time Zone in pratica visualizzare solamente il dato scritto a DB.
Per quanto riguarda il time stamp, della registrazione è meno problematico della registrazione utente.


L'aspetto che non conosco è se la correzione è fattibile o meno. Come ho detto in particolare ambiente di sviluppo non sono un professionista, me sto occupando anche per curiosità e per prenderne confidenza.
Ultima modifica: 1 Anno 8 Mesi fa da WildWolf.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Odoo V9 UTC 1 Anno 8 Mesi fa #28663

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Sinceramente non ho indagato .... potresti spostare il tipo su specifici oggetti (hr e analityc ... in pratica presenze e timesheet) da time a time_whit_timezone e vedere se tutto fila liscio. In ogni caso devi intervenire sulla write.

Se cosi' non fosse hai due strade:

Fai diventare il campo calcolato e poi scrivi un campo ausiliario con timezone

La soluzione piu' semplice, aggiungi agli oggetti anche il riferimento del timezone. Questa ultima soluzione e quella che avevo abbozza to ma mai implementato per risolvere un problema analogo. Poi fortuna il cliente ha soprasseduto :D
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Odoo V9 UTC 1 Anno 8 Mesi fa #28667

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Capisco la difficoltà ma ribadisco, senza UTC ci sono situazioni di errore.
UTC non è stato introdotto per complicare la vita, ma a seguito dei tantissimi problemi sorti dall'uso dei timezone locali.

Faccio solo alcuni esempi:
1. Passaggio da ora legale a ora solare: dalle ore 02:00 alle ore 03:00 locali non è possibili indicare l'orario esatto
2. Registrazione log tramite ora locale: se il timezone è sbagliato non è più possibile risalire all'esatto orario dell'evento
3. Funzionamento del cron: semplicemete il cron funzionerebbe in modo sbagliato
eccetera

La registrazione del dato in UTC è assolutamente l'unica soluzione che garantisce la totale integrità dei dati. Si sono scontrate generazini di programmatori su questo punto che dichiara l'uso di UTC comme issue non capisce un ....

Detto questo il problema non è nella registrazione ma nelle conversioni in fase di visualizzazione.
In questo, effettivamente, vedo un vulnus di Odoo, perchè giustamente l'utente finale di un timezone vuole vedere i dati nel suo timezone locale.
Ci sono le librerie di base di python (e di ogni linguaggio di programmazione) che permettono la conversione da UTC ad un qualsiasi timezone.

Dipende da cosa devi ottenere.
Se scarichi un foglio excel puoi duplicare le colonne impostando una formula di conversione orario
Se devi usare un report devi scrive un minimo di codice
Purtroppo non c'è una soluzione pronta, occorre affrontare i singoli problemi uno per volta.
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
Ultima modifica: 1 Anno 8 Mesi fa da Antoniov.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.136 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam