Percebi algo estranho no meu site: depois de anexar um arquivo a um nó (através do campo de arquivo normal), esse arquivo nunca é excluído do servidor . Eu removo-o do nó, salve essa alteração, mas posso ver que o arquivo ainda está no servidor.
Isso torna a substituição de arquivos muito difícil, porque quando um usuário tenta anexar uma substituição, o nome do arquivo tem o sufixo "_0" ou "_1" (como o arquivo original ainda está no servidor e faz com que o nome seja duplicado) . Isso significa que precisaríamos encontrar todos os links para o arquivo e editar cada um para corresponder ao novo nome / URL do arquivo. É uma bagunça total.
Estou procurando on-line e ninguém parece ter esse problema - os arquivos devem ser excluídos do servidor depois de removidos do nó.
Alguma idéia de por que isso pode estar acontecendo no meu caso? Não sei por onde começar a procurar. Certamente, a página de configuração 'Sistema de arquivos' não possui nada dessa natureza como uma opção que pode ter sido verificada. E as próprias opções de campo parecem não ter nada dessa natureza que eu possa ter definido inadvertidamente. Alguma outra ideia?
Respostas:
Deixa comigo! É uma coisa de revisões. Eu acho que faz sentido. Se você tiver revisões ativadas para esse tipo de conteúdo, ele mantém todos os seus arquivos antigos no servidor (associados a revisões antigas), portanto, a substituição de um arquivo definitivamente é mais difícil. Se você tentar removê-lo e adicioná-lo novamente ao nó, o nome / link será atualizado, como mencionei na minha pergunta. Como um arquivo com esse nome é mantido no servidor e existe uma duplicação de nomes, ele adiciona os sufixos "_0", "_1" etc. às futuras versões carregadas do nome desse arquivo.
No entanto, entendo por que isso está acontecendo, já que todo o ponto de revisão é ser capaz de reverter para qualquer versão anterior da página.
A solução alternativa é que você pode realmente excluir a revisão antiga da guia 'Revisão' ou 'Moderada' (se estiver usando a Moderação do Workbench) que continha o arquivo que você está tentando substituir. Em seguida, faça o upload novamente e o nome deverá corresponder sem que você precise voltar e editar os links que apontam para esse arquivo.
Espero que isso faça sentido e que ajude outra pessoa também!
fonte
Eu tive o mesmo caso de uso (desejando substituir arquivos enquanto mantinha o nome do arquivo), e o código a seguir em um módulo personalizado atendeu a esse objetivo. Esse código se baseia no módulo API da entidade , portanto, ele deve ser adicionado como uma dependência no arquivo .info do módulo. Feedback bem-vindo.
Isso permite excluir arquivos imediatamente após clicar em 'Remover' e salvar o nó. Aviso: isso também significa que, quando você remove um arquivo e salva o nó, não é possível recuperar esse arquivo revertendo para uma revisão anterior.
fonte
Eu criei um módulo que exclui arquivos órfãos, conforme mencionado neste tópico:
https://www.drupal.org/project/fancy_file_delete
Também pode forçar a exclusão de arquivos manualmente e também de arquivos não gerenciados.
fonte
Isso pode ser um problema de permissão no servidor. Tente o mesmo em uma instalação limpa - se você estiver enfrentando o mesmo problema, é responsabilidade do servidor e não do Drupal.
Existe algo nos logs?
fonte
Não tive sorte em excluir revisões antigas ou salvar nós sem os arquivos anexados e voltar. Estas são as únicas coisas que sempre funcionam:
Eu odeio absolutamente a segunda opção, e é por isso que estou aqui procurando outra solução.
(Eu também poderia estar saindo dos limites, já que tenho vários clientes executando o D6.)
fonte
Também deparei com esse problema com moderação do ambiente de trabalho e a inserção do campo de arquivo na verdade mostra as versões antigas dos arquivos carregados quando arquivos com o mesmo nome são recarregados em diferentes revisões de um documento.
Para que as coisas funcionem sem problemas, adicione o vid do nó como uma pasta ao caminho de upload do arquivo. Normalmente estou fazendo algo parecido.
Caminho da pasta = recursos / [nó: nid] - [nó: título] / [nó: vid]
Sim, são pastas longas e feias com uma loucura de subpasta, mas você pode encontrar arquivos com muita facilidade via ID ou título do nó e, em seguida, a subpasta impede colisões de nomes, para que você possa manter muitas versões do mesmo arquivo com o mesmo nome. Depois, você pode excluir as revisões antigas, se desejar limpar o espaço.
fonte