Resolvendo o problema do flash player 10 no Plone

Publicado por Cleber J Santos em 20/04/2009

[ Hits: 6.035 ]

 


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

Proxy Error: Plone ou Apache?

Instalando o Plone 4 core-dev

Bpython, uma interface ncurses para Python

Criando seu próprio repositório do Pypi

Leitura recomendada

IPPL - IP Protocols Logger

Primeiras Impressões do KDE 3.5

Tunning Postgres: Técnicas para otimização do banco

Instalação do VirtualBox completo, inclusive com acesso a pendrive

Criando swap em arquivo

  

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