Ticket #1060 (closed melhoria: fixed)
Compatibilidade de timezone com eventos do GoogleCalendar
Reported by: | fpcorrea | Owned by: | alexandrecorreia |
---|---|---|---|
Priority: | alta | Milestone: | Expresso 2.2 |
Component: | Calendar | Version: | branch 2.2 |
Severity: | média | Keywords: | calendar timezone google import |
Cc: | WorkGroup: |
Description
Ao importar a agenda do Google no ExpressoCalendar?, os eventos trazem o campo X-WR-TIMEZONE com valor semelhante ao do locale, como "America/Brazil?/Sao_Paulo". Como o Expresso não reconhece, todos os eventos acabam 3hs a frente no nosso Calendar. Favor tratar esta string de modo a reconhecer o timezone.
Attachments
Change History
comment:1 follow-up: ↓ 2 Changed 13 years ago by eduardoalex
- Owner changed from alguem to thiagoaos
- Severity set to média
comment:2 in reply to: ↑ 1 Changed 13 years ago by alexandrecorreia
Eduardo ou Thiago
Qual foi a correção que foi feita ?
Replying to eduardoalex:
Thiago,
Favor verificar se a correção do timezone que fizemos mata esse ticket.
comment:3 follow-up: ↓ 4 Changed 13 years ago by thiagoaos
O que foi feito nesse ticket é na hora que exportar um vcard seta o horário para GMT. E na hora de importar um vcard verifica se o mesmo tem o atributo TZID ( TZID=/freeassociation.sourceforge.net/Tzfile/America/Bahia: ), se tiver pega o horário inicial e final e retira esse time zone para ficar com o horário GMT. Depois aplica o timezone das preferências do expresso.
comment:4 in reply to: ↑ 3 Changed 13 years ago by alexandrecorreia
Thiago
Na Revisão 3429 no arquivo class.boicalendar.inc.php, linha 2968, existe uma método chamado print_r2, vc estava usando para debugar o código ?
Replying to thiagoaos:
O que foi feito nesse ticket é na hora que exportar um vcard seta o horário para GMT. E na hora de importar um vcard verifica se o mesmo tem o atributo TZID ( TZID=/freeassociation.sourceforge.net/Tzfile/America/Bahia: ), se tiver pega o horário inicial e final e retira esse time zone para ficar com o horário GMT. Depois aplica o timezone das preferências do expresso.
comment:5 Changed 13 years ago by thiagoaos
Não foi eu que realizei o commit referente a essa revisão. Foi um membro que era da nossa equipe. Acredito que ele utilizava para debugar sim, ajeitando a formatação quando utiliza o print_r. As vezes utilizo função similar também. Porém ele esqueceu de apagar antes de commitar.
Corrigir isso. Revisão 3565
comment:6 Changed 13 years ago by alexandrecorreia
Thiago
E conforme foi perguntando pelo Eduardo, a correção feita ( Revisão [3429] ) mata este ticket tb ?
comment:7 Changed 13 years ago by thiagoaos
Alexandre,
Tem algum meio estranho no arquivo exportado pelo google calendar. Eu criei um evento de 10h às 10:30 e quando exporta a rotina deles já pega esse horário e joga para GMT, conforme o trecho de código abaixo. Sendo assim o expresso importa normalmente. Ele pega esse horário do DTSTART e DTEND e aplica o fuso horário definido nas preferências obrigatórias do usuário. Com isso para mim, depois de importado o evento em questão, com o fuso horário definido como -3, no módulo calendar aparece das 10 às 10:30.
As mudanças realizadas na revisão que Eduardo comentou, de nada afetou nesse comportamento. O que mudou foi, quando tem o atributo TZID dentro de DTSTART ou DTEND, quando vai importar, o expresso pega os respectivos horários e aplica esse fuso horário definido no TZID para colocar o horário no GMT, e depois disso aplica o time zone definido nas preferências do usuário para exibir no módulo do calendário.
<pre> BEGIN:VEVENT DTSTART:20101209T130000Z DTEND:20101209T133000Z DTSTAMP:20101209T191921Z UID:ipq45813fbondg95a8lt9sl9vc@google.com CREATED:20101209T183556Z DESCRIPTION: LAST-MODIFIED:20101209T191836Z LOCATION: SEQUENCE:1 STATUS:CONFIRMED SUMMARY:Expresso Teste TRANSP:OPAQUE END:VEVENT </pre>
Exemplo de arquivo quando tem o TZID dentro do DTSTART e DTEND. Esse trecho do arquivo foi exportado do evolution.
<pre> BEGIN:VEVENT DTSTART;TZID=America/Bahia:20101209T100000Z DTEND;TZID=America/Bahia:20101209T123000Z UID:Expresso-110384-@10.15.21.189 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:Can't parse as DATE-TIME
value in LAST-MODIFIED property. Removing entire property: 1276274787
DESCRIPTION:Atividades internas2 SUMMARY:Atividades internas2 LOCATION:CPE DTSTAMP:20100611T165712Z CREATED:20100611T165712Z LAST-MODIFIED:20100611T165712Z END:VEVENT </pre>
comment:8 Changed 13 years ago by niltonneto
- Priority changed from pequena to alta
Thiago, resumindo a ópera: a revisão [3429] então não resolve este ticket? Precisamos saber, para conforme for, corrermos atrás desta correção.
comment:9 Changed 13 years ago by thiagoaos
Resumindo,
Eu não conseguir simular o error reportado por fpcorrea. Conforme dito antes, comigo funcionou quando eu exportei o calendário do google calendar.
Caso ele queira compartilhar o arquivo que ele exportou pelo google calendar e também informar o horário do evento criado para poder comparar com o horário no arquivo, eu posso tentar simular e resolver o problema.
comment:10 Changed 13 years ago by alexandrecorreia
Então não resolveu !!! Resolveremos por aqui !!!
Changed 13 years ago by rodsouza
- attachment Fernando Correa_mulder81pr@gmail.com.ics added
Arquivo que apresentava problema com horário
comment:11 Changed 13 years ago by rodsouza
O arquivo "Fernando Correa_mulder81pr@…" apresentava problema com a hora.
Testando com a revisão r3619, o problema não foi mais verificado.
Existe mais alguem que consiga verificar se o problema foi realmente corrigido?
comment:12 Changed 13 years ago by diogenesduarte
- Owner changed from thiagoaos to alexandrecorreia
Vou passar o ticket para o alexandre que disse que ia resolver por lá, e se for o caso de não acontecer mais esse problema, ele mesmo fecha.
comment:13 Changed 13 years ago by rodsouza
- Status changed from new to closed
- Resolution set to fixed
Isso significa que não existe mais problemas?
O "ics" que anexei era um que apresentava problemas como o horário não apresenta mais divergência e não houve outras manifestações então estou finalizando o ticket.
Thiago,
Favor verificar se a correção do timezone que fizemos mata esse ticket.