No trabalho, sou responsável por manter a organização de muitos dados variados em um sistema de arquivos padrão. Parte disso é apresentar uma classificação sensata (por similaridade, necessidade, acesso de leitura / gravação, etc.), mas a maior parte está na verdade documentando: quais documentos / arquivos / mídia devem ir para onde, o que não deve estar neste diretório, "para algo ligeiramente diferente, consulte ../../other-dir", etc.
No momento, eu documentei isso usando um arquivo de texto sem formatação readme
em todos os diretórios que quero documentar. Se alguém não tiver certeza do que deve estar em qualquer diretório, ele lê esse arquivo.
Isso funciona bem, mas parece estranho que eu tenha essa solução personalizada primitiva para um problema que qualquer mantenedor de uma estrutura de diretórios não trivial deve enfrentar. Toda empresa que eu conheço, por exemplo, tem algum tipo de sistema de arquivos compartilhado, onde a terminologia acordada para categorização é importante. Na minha experiência, as pessoas apenas precisam aprender o que é o que é por tentativa e erro e experimentação.
Então, permita-me propor uma solução melhor e espero que você possa me dizer se ela existe. Qualquer diretório em qualquer sistema de arquivos pode ter um arquivo de texto sem formatação oculto chamado .readme
. Seu conteúdo é uma linguagem humana descritiva. Ele usa alguma marcação como o Markdown, com pouco mais do que negrito, itálico e hiperlinks (relativos) para outros diretórios. Agora, um navegador de arquivos habilitado adequadamente procurará um arquivo nomeado .readme
sempre que exibir um diretório. Se existir, seu conteúdo será analisado e exibido em um painel discreto próximo ao widget de caminho do diretório. Qualquer link nele pode ser clicado e o usuário será levado ao diretório de destino desse link.
Penso que o esforço de implementar esse padrão compensaria muitas vezes os ganhos de usabilidade. Teríamos, digamos, plugins para o Nautilus, Konqueror, etc. Ele poderia ser usado para exibir informações de diretório nas listas de arquivos padrão servidas pelos servidores da web. E assim por diante.
Então, pergunta: existe algo assim? Se não, por que não? As pessoas acham que é uma ideia que vale a pena?
fonte
Respostas:
Tanto quanto eu sei, não existe um padrão. Aqui estão algumas idéias da minha experiência.
Configure, nunca mude
Isto é onde a maioria das empresas falha. Nada é pior do que uma estrutura de sistema de arquivos em constante mudança. Se não for possível mantê-lo constante, um sistema de arquivos puro é apenas o contêiner errado para organizar suas informações. Use um banco de dados ou um sistema de gerenciamento de conteúdo.
Use nomes de diretório descritivos e consistentes
Ninguém tem tempo para ler um
.filing
arquivo ou qualquer outra coisa. Se os nomes dos diretórios não forem autoexplicativos, você provavelmente estará perdido de qualquer maneira.Escreva uma documentação para sua estrutura de diretórios
Escreva um documento em que explique o papel de cada diretório. Dê muitos exemplos. Torne-o disponível para qualquer pessoa que precise trabalhar com sua estrutura, mas não acredite que alguém a leia. Deve ser mais como uma Bíblia para você. Não é fácil encontrar um exemplo para esse documento, porque obviamente as empresas não os publicam. Um exemplo de software de código aberto é o padrão de hierarquia de sistemas de arquivos .
Se isso soa um pouco negativo, é. Nunca vi um repositório não trivial baseado em um sistema de arquivos com mais de cinco usuários trabalhando a longo prazo na prática. O problema é que, independentemente das categorias que você definir, as pessoas terão idéias completamente diferentes sobre elas. Então, para finalmente responder às suas perguntas:
Será que tal coisa existe?
Não, eu não penso assim.
Se não, por que não?
Na minha opinião: para uma pequena hierarquia estática com poucos usuários, é um exagero. Para uma grande hierarquia de mudança com muitos usuários, isso não funcionará porque a ideia de categorias (= diretórios, pasta) não é dimensionada.
As pessoas acham que é uma ideia que vale a pena?
Hum, é uma ideia interessante. Para ver se as pessoas o usarão, alguém precisa implementá-lo. Em vez de um
.filing
arquivo, você pode armazenar essas informações em um fluxo de dados alternativo (sim, as pastas também podem ter ADS). Você pode usar atributos estendidos no Linux e OSX. O maior problema provavelmente seria corrigir os navegadores de arquivos.fonte
.filing
arquivo, você pode armazenar essas informações em um fluxo de dados alternativo (sim, as pastas também podem ter ADS). Você pode usar atributos estendidos no Linux e OSX." Possível, imagino, mas diminui a portabilidade e a transparência que considero tão importantes. E se eu quiser colocar tudo em um repositório Git? Os arquivos de texto sem formatação são usados para a configuração específica do diretório (por exemplo, htaccess), então por que não a documentação também?wasabi vale a pena tentar. Na raiz do projeto, a fonte de texto sem formatação servirá como uma sólida visão geral do projeto e você poderá lançar o mesmo documento em um navegador para obter resultados mais sofisticados.
É verdade que não é uma solução baseada em sistema de arquivos, mas até que todos os sistemas de arquivos suportem algo comum, o wasabi (ou sua própria implementação) pode ser a melhor opção.
fonte
Sua ideia tem algum mérito, mas receio que, quando você precisar de algo assim, realmente signifique que precisa de algo mais estruturado. Ou seja, um CMS, talvez apenas um leve, mas definitivamente algo mais do que apenas um arquivo de texto.
Especialmente se você deseja restringir a gravação (ou mesmo o acesso) de documentos específicos (e, portanto, as pastas que os contêm) a algum subconjunto da sua base de usuários.
Você não especifica seu sistema operacional, mas existem produtos excelentes (e gratuitos) como o alfresco que talvez possam atendê-lo melhor do que sua configuração atual.
fonte
Aqui está uma ideia. Escreva um script que faça ao usuário várias perguntas sobre o arquivo e / ou faça alguma correspondência no próprio conteúdo do arquivo e, em seguida, recomende o local para colocar o arquivo ou colocá-lo lá. O script pode ser tão simples ou tão complexo quanto você deseja.
O script atua como um sistema de gerenciamento de arquivos, sistema de suporte a decisões e uma documentação viva da hierarquia do sistema de arquivos. O Linux Filesystem Hierarchy Standard é um mito, se você pensar sobre isso, porque há uma variação muito grande entre as distribuições. Entretanto, a maioria dos usuários de Linux / Unix não precisa aprender sobre a hierarquia do sistema de arquivos, porque existem vários softwares instalados no sistema que gerenciam a hierarquia de maneira padronizada (gerenciador de pacotes, ferramenta de configuração etc.). Várias estruturas de aplicativos também criam scripts para gerenciar seus diretórios, por exemplo, o django possui comandos de gerenciamento para criar novo projeto, ou novo módulo de aplicativo ou arquivos de migração de squash, etc.
Isso tem a vantagem adicional de que o script pode criar vários links simbólicos se o arquivo precisar ser pesquisado de mais de uma maneira, por exemplo, um índice com base no autor do arquivo ou na data de criação ou em qualquer regra comercial que você tenha. Você pode simular a marcação com links simbólicos. Uma tag é um link simbólico simples de um
tags
diretório, portanto,tags/mytag/myfile
pode ser um link simbólico paraactual/myfile
.Além disso, também será possível alterar a estrutura da hierarquia do sistema de arquivos sem alterar a interface do usuário.
Um sistema de arquivos é um banco de dados. Não é um banco de dados relacional, mas hierárquico. Pense nisso como gerenciar um banco de dados, você realmente não precisa exigir que as pessoas aprendam a estrutura relacional, mas deseja que o aplicativo apresente ao usuário as várias tarefas que ele precisa executar (por exemplo, você está realizando mensalmente) Relatório XYZ, ótimo, coloque-o nesta pasta e crie este link simbólico, e você precisará modificar outro arquivo para registrar que você fez o relatório para este mês, etc.).
fonte