##master-page:HelpTemplate
##master-date:Unknown-Date
#format wiki
#language pt

== Activar a acção AttachFile ==



A acção `AttachFile` permite que uma página contenha vários ficheiros anexados.

Uma vez que pode existir abuso no envio de ficheiros por ataques DoS (Denial of Service), a `AttachFile` é uma acção que pode ser desactivada pelo administrador. Para mais informações, consulte o tópico [[AjudaNaConfiguração#file-attachments|Configuração do MoinMoin]].



== Criar anexos ==



Para criar um novo anexo, pode adicionar uma ligação de anexo a qualquer página (veja mais abaixo como fazê-lo), ou clicar na ligação `AttachFile` no fim da página. No primeiro caso, encontrará uma ligação `Enviar novo anexo` depois de ter guardado a página. Ao clicar nessa ligação, terá acesso à página de envio. Se clicar na ligação `AttachFile` terá acesso a esta mesma página.



O formulário de envio consiste em dois campos. Para além da inserção de dados do ficheiro, existe um campo opcional (`Renomear para`), utilizado para atribui um nome diferente ao ficheiro.



Um envio nunca irá sobrepor um ficheiro existente. Se existir um conflito de nomes, terá de renomear o ficheiro que deseja enviar. Caso contrário, se o campo "Renomear para" estiver vazio, será utilizado o nome de ficheiro original.



Os anexos existentes podem ser visualizados, descarregados, ou removidos, dependendo da configuração do wiki e das permissões de acesso do utilizador. Por exemplo, um anexo não pode ser eliminado se o utilizador não tiver permissões de `remoção` numa determinada página.



Qualquer envio ou eliminação de anexos será registada nas AlteraçõesRecentes e será sujeita a revisão geral. Ao contrário das alterações de  páginas, não existe histórico para os anexos, por isso ''guarde uma cópia local do ficheiro'', para que possa repor em caso de vandalismo.



== Listas e informações sobre anexos ==



Quando definidas, há duas macros que fornecem informações sobre os anexos de uma página.  A macro `<<AttachInfo>>` devolve uma pequena descrição sobre quaisquer anexos:



<<AttachInfo>>



A macro `<<AttachList>>` lista os ficheiros anexados a uma página:



<<AttachList>>



Existem dois parâmetros opcionais:

 * O `<<AttachList(pagename)>>` lista os anexos da página com o nome de página definido.

 * O `<<AttachList(pagename,mimetype)>>` lista os anexos essa página, mas apenas os que tiverem um determinado mimetype.

 * O `<<AttachList(,mimetype)>>` lista os anexos da página actual com determinado mimetype.



== Ligações a anexos ==



Para se referir a um anexo de uma página, utilize `attachment:nomedoficheiro.ext`; uma ligação deste tipo segue todas as regras de ligações normais, ou seja, as imagens são automaticamente incluídas.

'''Não''' utilize a URL da ligação `[get]` que poderá ver na página de envio de anexos, 

uma vez que estas ligações estão sujeitas a alterações e podem ser quebradas facilmente ao reconfigurar o wiki.

Para se referir a ficheiros anexados noutras páginas, utilize `attachment:NomeDoWiki/nomedoficheiro.ext`.



Em vez de `attachment:`, pode também utilizar `inline:`, que procurar incluir o conteúdo do anexo. No caso das imagens (ficheiros com a extensão `.gif`, `.jpg`, `.jpeg`, ou `.png`) não existe qualquer diferença. No caso de fontes Python (ou seja, anexos com uma extensão `.py`), estas são exibidas como as fontes de sintaxe destacadas. Para todos os outros ficheiros, o comportamento é igual ao obtido através das ligações `attachment:`.



O terceiro tipo de ligação é o `drawing:`, explicado na secção seguinte.





== Editar desenhos vectoriais ==



Uma ligação semelhante a `drawing:nomedaimagem` permite-lhe editar ''interactivamente'' diagramas vectoriais através de uma built-in Java applet. A applet irá guardar três anexos, "`nomedaimagem.draw`", "`nomedaimagem.png`" e "`nomedaimagem`". Depois de ter guardado um desenho, a imagem PNG gerada é apresentada através da ligação `drawing:`. A imagem MAP é utilizada para activar partes da imagem como ligações. Isto significa que apenas necessitar do Java activo para edição. A exibição funcionará em qualquer navegador.



Para editar um desenho depois de o ter guardado uma vez, clique em `AttachFile` e utilize a ligação `[edit]` em vez da ligação `[view]` do anexo `.draw`. Pode clicar igualmente nos contornos invisíveis de 5 píxeis que rodeiam a imagem, para aceder ao modo de edição. Guardar um desenho é visível nas AlteraçõesRecentes.



  /!\ Nota: a applet não é sensível a nomes wiki. É necessário fornecer as URLs actuais (quer relativas quer absolutas) como ligações.



  /!\ Nota: desenhos que contenham caracteres non-ascii no seu nome, não são suportados actualmente.



Para mais informações sobre o uso da applet de desenho, consulte a página TWiki:Plugins/TWikiDrawPlugin.



== Instalação de pacotes ==

Veja o tópico AjudaComInstaladorDePacotes.



== Extrair ficheiros ==

Para obter acesso à funcionalidade de extrair ficheiros, precisa de ter as seguintes permissões na página:

 * read (leitura)

 * write (edição)

 * delete (remoção)



Ex:

{{{

#acl UserName:admin,read,write,delete All:read

}}}



Implementámos alguma protecção no servidor contra abusos nesta funcionalidade. Os ficheiros zip num ficheiro zip são ignorados ao serem extraídos. Por definição da opção de configuração{{{unzip_attachments_space}}}, apenas se pode utilizar esta quantidade de bytes para extrair ficheiros. Se já existirem ficheiros na directoria, o seu tamanho será subtraído a este valor. O tamanho de um único ficheiro no arquivo a extrair pode ser limitado, utilizando a opção de configuração {{{unzip_single_file_size}}}. Com a opção {{{unzip_attachments_count}}} pode restringir o número de ficheiros extraídos de um ficheiro zip.



As regras para extrair ficheiros são implementadas como as de envio de um ficheiro. Não é permitido a sobrepor um ficheiro existente ao extrair ficheiros. 



Só serão extraídos os ficheiros do primeiro nível de um ficheiro zip. Os ficheiros em directorias serão ignorados.



Um ficheiro zip válido pode ser criado da seguinte forma:



{{{

zip exemplo.zip *.jpg

}}}







=== Enviar um ficheiro zip ===

Depois de ter enviado um ficheiro zip, pode ver a ligação {{unzip}}}.

 {{attachment:unzip1.png}}



=== Sem permissões para extrair ficheiros ===

Se não tiver permissões suficientes, verá apenas o diálogo.

 {{attachment:unzip7.png}}



=== Sem espaço livre suficiente ===

Se os ficheiros extraídos excederem o limite de espaço destinado aos anexos, obterá este aviso.

 {{attachment:unzip2.png}}

  ''Este comportamento é controlado pela variável:'' {{{unzip_attachments_space}}}



=== Ficheiros extraídos com sucesso ===

{{attachment:unzip3a.png}} <<BR>>

{{attachment:unzip3b.png}}



=== Ficheiros extraídos seriam demasiado grandes ===

Se um ficheiro do arquivo exceder o {{{unzip_single_file_size}}} definido, este não será extraído.

 {{attachment:unzip5.png}}



=== Ficheiros zip dentro do ficheiro zip serão ignorados ===

Se existirem ficheiros zip incluídos no arquivo zip, serão ignorados durante a extracção. Os ficheiros tradicionais serão extraídos.

 {{attachment:unzip6.png}}

Assim o famoso {{{42.zip}}} não afecta o sistema.

 {{attachment:unzip6b.png}}



= Mover um ficheiro =

A ligação da acção "move" será exibida junto cada ficheiro de anexo, se tiver permissões de "remoção" na página wiki onde estão anexados.



{{attachment:mover_exemplo1.png}}



Basta clicar em "move" para obter este diálogo:



{{attachment:mover_exemplo2.png}}



Agora, pode renomear o ficheiro (mantendo-o anexado à página actual) ou movê-lo para uma outra página (e ainda renomeá-lo, se o desejar). Necessita de permissões de "edição" na página-alvo (e a página-alvo tem de ser uma página já existente).
