Resolvendo o problema do flash player 10 no Plone

Publicado por Cleber J Santos em 20/04/2009

[ Hits: 6.029 ]

 


Resolvendo o problema do flash player 10 no Plone



Para a nova versão do flash player 10 é necessário adicionar ao Plone uma correção e também no produto ATFlashMovie para quem usa.

Trabalhar com Plone e seus produtos é uma delícia, ainda mais quando a Adobe lança um novo player, que por acaso é a versão 10, e os clientes começam a fazer suas atualizações. No outro dia você recebe a ligação do cliente perguntando cade aquele banner maravilhoso e cheio de animações que tinha na página dele.

Depois de apanhar bastante tentando descobrir o problema e colocando a culpa no IE7 e na Adobe por lançar algo novo, você descobre que o problema também está no na forma que o produto ATFlashMovie trata o flash.

Solução

1 - Antes de mais nada, saiba que com a chegada do novo player 10 da Adobe é necessário uma correção na forma que o Plone trata os arquivos Flash, e também é necessário uma correção no produto ATFlashMovie para quem usa ele claro. :-)

2 - Edite o arquivo ATFlashMovie.py que está em /Products/ATFlashMovie.

3 - Desça até a linha 95 e adicione o texto: inlineMimetypes = ('application/x-shockwave-flash'), que deverá ficar assim:

92.   typeDescription= "A Macromedia flash film"
92.   typeDescription= "A Macromedia flash film"
93.   typeDescMsgId  = 'description_edit_flash_file'
94.   assocFileExt   = ('swf',)
95.   inlineMimetypes = ('application/x-shockwave-flash')
96.
97.   global_allow = True

É claro que se você também não quer ficar editando arquivos, pode simplesmente baixar e aplicar o fix localizado em: http://plone.org/products/products-flash10fix

4 - Agora vamos as duas últimas correções, só que agora no Plone, então edite o arquivo Field.py que está em /Products/Archetypes ou em /parts/plone/Archetypes, dependendo da instalação do Plone.

5 - Vá na linha 1155, onde devemos adicionar uma declaração que verifica se o nome do arquivo termina com swf e em caso de positivo, altera a visão do arquivo como inline e não anexo.

Field.py (ATUAL)

1153.            else:  
1154.               filename = unicode(filename, instance.getCharset())
1155.            header_value = contentDispositionHeader(
1156.                disposition='attachment',
1157.                filename=filename)
1158.            RESPONSE.setHeader("Content-Disposition", header_value)
1159.        if no_output

Field.py (depois de alterado):

1153.            else:  
1154.                filename = unicode(filename, instance.getCharset())
1155.            filenameParts = filename.split('.')
1156.            if filenameParts[len(filenameParts) - 1] == 'swf':
1157.                header_value = contentDispositionHeader(
1158.                    disposition='inline',
1159.                    filename=filename)
1160.            else:
1161.                header_value = contentDispositionHeader(
1162.                    disposition='attachment',
1163.                    filename=filename)
1164.            RESPONSE.setHeader("Content-Disposition", header_value)
1165.        if no_output:

6 - Agora uma última alteração, devemos habilitar o uso das tags object e embed para os editores como o Kupu e FCKEditor, isso também vai influenciar no site, sem isso eu estava tendo problemas ao usar o KBanner.

7 - Na ZMI clique em portal_transforms, procure por safe_html e remova caso exista as entradas "object" e "embed" da lista nasty_tags.

8 - Agora adicione as mesmas tags nas lista valid_tags e salve com o valor 1.

9 - Dê um restart na instância para que as alterações feitas no produto e no Field tenham efeito ;)

Outras dicas deste autor

Criando seu próprio repositório do Pypi

Proxy Error: Plone ou Apache?

Instalando o Plone 4 core-dev

Bpython, uma interface ncurses para Python

Leitura recomendada

ThinStation 2.2d

Como instalar o Insigne Momentum 5.5

Dicionário de sinônimos Micha Elvis

Zenwalk 5.2 finalmente lançado!

O Linux terá sucesso em desktops. Sabe por quê?

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts