Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atualização de collective.portlet.calendar gera problemas #412

Closed
hvelarde opened this issue Nov 9, 2017 · 21 comments
Closed

Atualização de collective.portlet.calendar gera problemas #412

hvelarde opened this issue Nov 9, 2017 · 21 comments

Comments

@hvelarde
Copy link
Member

hvelarde commented Nov 9, 2017

após atualizar collective.portlet.calendar para 1.0b3 notei que um teste do brasil.gov.agenda está falhando:

Failure in test Test Navegacao Portlet Calendario (test_portlet_calendario_extendido.robot)
Traceback (most recent call last):
  File "/home/travis/build/plonegovbr/portal.buildout/eggs/unittest2-0.5.1-py2.7.egg/unittest2/case.py", line 340, in run
    testMethod()
  File "/home/travis/build/plonegovbr/portal.buildout/eggs/robotsuite-1.7.0-py2.7.egg/robotsuite/__init__.py", line 461, in runTest
    assert last_status == 'PASS', last_message
AssertionError: ValueError: Element locator 'css=input[value="/agenda-do-presidente"]' did not match any elements.

refs. https://travis-ci.org/plonegovbr/portal.buildout/jobs/299396041

adicionalmente a visualização do portlet quebra:

selection_023

Após atualizar a versão, ver também a necessidade de manter

/* FIXME: Regra necessária para evitar conflitos bootstrap, no nosso caso específico, pelo adicionado em collective.upload.
uma vez que esse mesmo código agora está upstream em https://github.com/collective/collective.portlet.calendar/blob/5124c819a9491a5de3f973672d22bb1ab263bcb0/collective/portlet/calendar/browser/calendar_styles/calendar.css#L17.

@hvelarde hvelarde added the bug label Nov 9, 2017
@hvelarde hvelarde added this to the 1.5 milestone Nov 9, 2017
@hvelarde hvelarde changed the title Atualização de collective.portlet.calendar não passa os testes Atualização de collective.portlet.calendar gera problemas Nov 9, 2017
@hvelarde hvelarde removed this from the 1.5 milestone Nov 9, 2017
@hvelarde
Copy link
Member Author

hvelarde commented Nov 9, 2017

@claytonc pelo que vi aqui a atualização quebra outras coisas então não vou recomendar fazer isso em esta nova versão e fica pendente.

@claytonc
Copy link
Contributor

claytonc commented Nov 9, 2017

@hvelarde

Fiz teste em em plone puro 4.3.15 o erro de leiaute não esta ocorrendo, pode ser algum css ou js do idg.

Mas esta ocorrendo o erro abaixo ao clicar nos links próximo ou mês anterior, mesmo na versão 1.0b2.

KeyError: u'Cannot find object at path front-page'

@claytonc
Copy link
Contributor

@hvelarde

O problema da quebra da visualização do portlet é porque esta pegando o tooltip do collective.js.bootstrap.

O plone.app.event 1.1.8 adiciona o tooltip [1], na versão anterior não tinha isso.

https://github.com/plone/plone.app.event/blob/1.1.x/plone/app/event/portlets/portlet_calendar.js#L31-L34

@hvelarde
Copy link
Member Author

tu quer consertar isso para uma versão nova?

@idgserpro
Copy link
Member

Relacionado: plonegovbr/brasil.gov.agenda#50

@claytonc
Copy link
Contributor

@hvelarde @idgserpro

Acho que encontrei um bug no portlet calendário comigo esta ocorrendo também em um plone puro. (Plone 4.3.15)

Favor gostaria que fizessem o mesmo teste para verificar se só esta ocorrendo comigo.

1 - Adicionem um portlet calendário (Calendário ou Extended Calendar portlet) por exemplo no path assuntos/editoria-a/, pois na raiz o portlet funciona.
2 - Clique nos links "Mês anterior" e "Próximo mês" veja se não ocorreu o erro "KeyError: u'Cannot find object at path assuntos/editoria-a' "

@claytonc
Copy link
Contributor

Após testes em outras instalações vi que é um bug.

plone/Products.CMFPlone#2215

@idgserpro
Copy link
Member

De qualquer forma, temos um erro no IDG também.

@claytonc
Copy link
Contributor

@hvelarde

Com relação aos testes, eles falham porque na versão 1.0b3 ouve a mudança abaixo:

https://github.com/collective/collective.portlet.calendar/blob/master/collective/portlet/calendar/calendar.py#L137-L140

@hvelarde
Copy link
Member Author

entendi, isso está completamente errado e vai ter que ser consertado lá.

@claytonc
Copy link
Contributor

claytonc commented Nov 17, 2017

@hvelarde @idgserpro
Com relação a aparência que também afeta ao calendário padrão, por causa na nova versão do plone.app.event e no IDG porque usa o collective.js.bootstrap.

Eu consegui ver duas soluções para a aparência:

  1. customizar o portlet_calendar.js e remover o trecho [1], os tooltips do calendário fica como antes;
  2. pega o trecho do css do bootstrap referente ao tooltip e tentar deixar com a mesma aparência do padrão d Plone que usa o "jquery.ui.tooltip.css".

[1] https://github.com/plone/plone.app.event/blob/1.1.x/plone/app/event/portlets/portlet_calendar.js#L31-L34

@hvelarde
Copy link
Member Author

eu gostaria ouvir a opinião do @agnogueira sobre esse quesito; na verdade não queremos colocar mais customizações no projeto, mas bem queremos tirar todas no 2.0.

@idgserpro
Copy link
Member

@claytonc não acho que customizar o portlet_calendar.js seja uma boa ideia. Não é possível corrigir somente com css?

@claytonc
Copy link
Contributor

@idgserpro
Sim, opção 2.

@caduvieira
Copy link
Contributor

+1 para opção 2

@idgserpro
Copy link
Member

pega o trecho do css do bootstrap referente ao tooltip e tentar deixar com a mesma aparência do padrão d Plone que usa o "jquery.ui.tooltip.css".

@claytonc teria mais detalhes sobre isso?

@claytonc
Copy link
Contributor

@idgserpro

Correção a aparência seria adicionar o trecho CSS abaixo do bootstrap, alterando para a aparência do IDG.

E também é necessário efetuar uma correção para funcionar com DX, que foi mencionando nos comentários acima.

.tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; line-break: auto; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; white-space: normal; word-break: normal; word-spacing: normal; word-wrap: normal; font-size: 12px; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #ffffff; text-align: center; background-color: #000000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000000; } .tooltip.top-left .tooltip-arrow { bottom: 0; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; }

@idgserpro
Copy link
Member

Correção a aparência seria adicionar o trecho CSS abaixo do bootstrap, alterando para a aparência do IDG.

Ou seja, registrar um css novo com essa correção que você comentou no brasil.gov.portal, registrando ele depois do css do bootstrap?

E também é necessário efetuar uma correção para funcionar com DX, que foi mencionando nos comentários acima.

Não entendi... está falando do plone/Products.CMFPlone#2215?

@claytonc
Copy link
Contributor

claytonc commented Apr 16, 2018

@idgserpro

Ou seja, registrar um css novo com essa correção que você comentou no brasil.gov.portal, registrando ele depois do css do bootstrap?

Eu estava analisando a versão 1.5, ela não tem CSS do bootstrap somente o JS.

Não entendi... está falando do plone/Products.CMFPlone#2215?

#412 (comment)

@idgserpro
Copy link
Member

idgserpro commented Apr 19, 2018

Como o 2.x ainda está em andamento e o 1.5.x está em modo de correção de bugs, mudei de opinião e cheguei à conclusão que, com relação ao problema de layout, o ideal é customizar o javascript no 1.5.x via jbot/overrides e o 2.x ao longo do desenvolvimento ver a melhor forma de atuar nessa questão.

Customizando o javascript apenas na branch 1.5.x não impactará na 2.x evitando assim retrabalho e, como 1.5.x está em modo manutenção o risco da customização dar alguma problema é mínima - digo isso porque o portlet_calendar.js foi removido apenas na versão 3.0.2 de plone.app.event na 2.0a6 movido para uma pasta bbb mas mantendo o mesmo nome do recurso (a customização dele no brasil.gov.portal será via overrides e não z3c.jbot) e nesse tempo todo ele não foi alterado (sofreu alteração mas motivado por jslint e não funcionalidade).

Caso ao longo do desenvolvimento do 2.x os desenvolvedores achem que a customização também é o ideal, basta darem cherry-pick no commit. Caso achem que a customização não é o ideal, não tem problema pois estará na branch 1.5.x causando 0 de impacto no desenvolvimento.

@hvelarde
Copy link
Member Author

o pacote não é mais dependência do IDG v2 então não vamos atualizar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants