Como configurar o file type do seu firefox 27/Mai/2008
Posted by demoncyber in firefox, slackware.Tags: file type, firefox, MIME, mimeTypes.rdf, slackware
trackback
Eis que um colega que está começando a utilizar Slackware me pergunta porque quando ele mandava abrir um arquivo pdf pelo firefox ele não abria, e responde porque o Slackware não vem com isto configurado é apenas um caso de setar o mimetype ou filetype, daí lhe falo vai lá edit->preferences aba content e clica no botão Manage em File Types, e aí em seguida que nasce o problema aquele X.X trubisco não serve para editar e adicionar um novo file type de geito maneira, aquilo me revoltou … ( como devem perceber estes artigos ultimamente sobre firefox é porque não gosto dele mesmo… ) então instalei um plug in de firefox que fazia isto resolvi fazer engenharia reversa no bixinho para descobrir qual arquivo precisava alterar e enfim achei que é o mimeTypes.rdf, seguindo na minha procura encontrei mais sobre como configurar ele em um dos sites da mozilla que está nas referências do texto.
Atributos
RDF:about – identificador ( Atributo especial pertecente a raíz )
NC:description – O nome do tipo de arquivo que será mostrado dentro da janela de download
NC:fileExtension – Extensão do arquivo que será manipulado
NC:value – O tipo do MIME de arquivo a ser manipulado
NC:path – caminho da aplicação que será usada para abrir este arquivo
NC:useSystemDefault – true (usa o sistema padrão do seu window manager para este tipo de MIME) ou false (define uma ação diferente para especificar no arquivo qual programa usar)
NC:saveToDisk – true (ação padrão que é baixar o arquivo) ou false ( não baixa o arquivo na máquina)
NC:alwaysAsk – true (perguntar qual a ação ao tratar deste tipo de arquivo) or false (não pergunta ação)
NC:editable – true (entrada pode ser modificada pelo usuário) ou false (entrada como travado)
NC:prettyName – um curto nome da aplicacão que será usada para abrir
———————————————————
Cabeçalho do arquivo
Esta é a sessão inicial do seu arquivo de configuração, mantém o cabeçalho indicando onde estão os arquivos de padrão da sintaxe xml do arquivo rdf a ser utilizado.
<?xml version=”1.0″?>
<RDF:RDF xmlns:NC=”http://home.netscape.com/NC-rdf#”
xmlns:RDF=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”>
</RDF:RDF>
/.mozilla/firefox/identificador.defaults/mimeTypes.rdf
———————————————————
Identificador do tipo de arquivo
Neste exemplo estamos criando um identificador global “office/pdf” para o nosso arquivo, passando os atributos de identificação explandos à cima.
( NC:handlerProp – Apesar de ter procurado em muitos sites e nas rfcs do MIME não encontrei o atributo handlerProp e o meu empenho em fazer engenharia reversa nos arquivos de especificação do xml utilizado para analizar o arquivo de xml em questão já estavam no máximo -.-, nota eu acredito que o handlerProp serve para apontar para o identificador que contém o recurso do manipulador da especificação descrita)
<RDF:Description RDF:about=”urn:mimetype:office/pdf”
NC:fileExtensions=”pdf”
NC:description=”PDF Files”
NC:value=”office/pdf”
NC:editable=”true”>
<NC:handlerProp RDF:resource=”urn:mimetype:handler:office/pdf”/>
</RDF:Description>
———————————————————
Identificador do manipulador do tipo de arquivo
Neste exemplo estamos criando o manipulador do tipo de arquivo identificador global “office/pdf” para o nosso arquivo, passando os atributos de identificação explandos à cima.
( NC:externalApplication – Apesar de ter procurado em muitos sites e nas rfcs do MIME não encontrei o atributo externalApplication e o meu empenho em fazer engenharia reversa nos arquivos de especificação do xml utilizado para analizar o arquivo de xml em questão já estavam no máximo -.-, nota eu acredito que o externalApplication serve para apontar o identificador que contem o recurso de aplicativo externo)
<RDF:Description RDF:about=”urn:mimetype:handler:office/pdf”
NC:alwaysAsk=”false”
NC:handleInternal=”false”
NC:useSystemDefault=”false”
NC:saveToDisk=”false”>
<NC:externalApplication RDF:resource=”urn:mimetype:externalApplication:office/pdf”/>
</RDF:Description>
———————————————————
Identificador do programa externo utilizado para
<RDF:Description RDF:about=”urn:mimetype:externalApplication:office/pdf”
NC:path=”/usr/bin/kpdf” />
———————————————————
Identifiador percente a raíz que serve para adicionar os identificadores utilizados pelo webbrowser
- Mostrar texto das mensagens anteriores -
<RDF:Seq RDF:about=”urn:mimetypes:root”>
<RDF:li RDF:resource=”urn:mimetype:image/png”/>
<RDF:li RDF:resource=”urn:mimetype:office/pdf”/>
</RDF:Seq>
———————————————————
Segue um exemplo concluído
<?xml version=”1.0″?>
<RDF:RDF xmlns:NC=”http://home.netscape.com/NC-rdf#”
xmlns:RDF=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”>
<RDF:Description RDF:about=”urn:mimetype:office/pdf”
NC:fileExtensions=”pdf”
NC:description=”PDF Files”
NC:value=”office/pdf”
NC:editable=”true”>
<NC:handlerProp RDF:resource=”urn:mimetype:handler:office/pdf”/>
</RDF:Description>
<RDF:Description RDF:about=”urn:mimetype:externalApplication:image/png”
NC:path=”/usr/bin/gimp”
NC:prettyName=”Gimp” />
<RDF:Description RDF:about=”urn:mimetype:handler:image/png”
NC:alwaysAsk=”false”
NC:handleInternal=”false”
NC:useSystemDefault=”false”
NC:saveToDisk=”false”>
<NC:externalApplication RDF:resource=”urn:mimetype:externalApplication:image/png”/>
</RDF:Description>
<RDF:Description RDF:about=”urn:mimetype:externalApplication:office/pdf”
NC:path=”/usr/bin/kpdf”
NC:prettyName=”KPDF” />
<RDF:Description RDF:about=”urn:mimetype:image/png”
NC:fileExtensions=”png”
NC:description=”PNG Image”
NC:value=”image/png”
NC:editable=”true”>
<NC:handlerProp RDF:resource=”urn:mimetype:handler:image/png”/>
</RDF:Description>
<RDF:Description RDF:about=”urn:mimetype:handler:office/pdf”
NC:alwaysAsk=”false”
NC:handleInternal=”false”
NC:useSystemDefault=”false”
NC:saveToDisk=”false”>
<NC:externalApplication RDF:resource=”urn:mimetype:externalApplication:office/pdf”/>
</RDF:Description>
<RDF:Seq RDF:about=”urn:mimetypes:root”>
<RDF:li RDF:resource=”urn:mimetype:image/png”/>
<RDF:li RDF:resource=”urn:mimetype:office/pdf”/>
</RDF:Seq>
</RDF:RDF>
Espero que tenham gostado =] ….
” Existem aqueles que se contentam em apenas resolver os problemas e existem aqueles que não se contentam resolver sem entender ….” – Demoncyber
Referências:
(Lidas na integra)
http://en.wikipedia.org/wiki/MIME – wikipedia sobre mim
http://www.iana.org/assignments/media-types/ – lista completa de mime media types
http://kb.mozillazine.org/MimeTypes.rdf – exemplo e documentação sobre o arquivo configurado
http://www.w3schools.com/media/media_mimeref.asp – referência para o padrões MIME
RFS
( Obs nenhuma destas RFS foram lidas apenas foi procurado pelos campos chaves os quais não foram encontradas as documentações referentes )
http://www.rfc-editor.org/rfc/rfc2047.txt
http://www.rfc-editor.org/rfc/rfc822.txt
http://www.rfc-editor.org/rfc/rfc2045.txt
http://www.rfc-editor.org/rfc/rfc2046.txt
http://www.rfc-editor.org/rfc/rfc2047.txt
http://www.rfc-editor.org/rfc/rfc2048.txt
http://www.rfc-editor.org/rfc/rfc2049.txt
Simplesmente excelente! Estava me incomodando com isto a dias e não tinha parado para pesquisar ainda. Ao encontrar os passos aqui, além de resolver, fez-me entender o problema. É este tipo de solução que precisamos!