Qualquer pessoa que queira que a pasta Documentos contenha apenas as coisas que colocar lá sabe que a pasta Documentos padrão é completamente inadequada para esta tarefa. Todo programa parece querer colocar suas configurações, dados ou algo igualmente irrelevante na pasta Documentos , apesar do fato de haver pastas especificamente para este trabalho 1 .
Para que isso não pareça vazio, tome minha pasta pessoal "Documentos" como exemplo. Eu nunca o uso, pois nunca, em nenhuma circunstância, salvo qualquer coisa nessa pasta. E, no entanto, contém 46 pastas e 3 arquivos no nível superior, para um total de 800 arquivos em 500 pastas. São 190 MB de "documentos" que não criei. Obviamente, quaisquer documentos reais se perderiam imediatamente nessa bagunça.
Minha pergunta é : algo pode ser feito para melhorar a situação o suficiente para tornar os "Documentos" úteis novamente, digamos nos próximos 5 anos? Os programadores podem, de alguma forma, ser instruídos em massa para não usá-lo como um depósito de lixo? O sistema operacional pode começar a relatar um local "falso" oculto no AppData por meio das APIs existentes, permitindo apenas ao Explorer e às várias caixas de diálogo Abrir / Salvar saber onde reside a pasta "real" de documentos? Ou alguma tentativa é completamente inútil ou mesmo desnecessária?
1 Para o registro, aqui está um rápido resumo dos vários diretórios padrão que devem ser usados em vez de "Documentos":
RoamingAppData
para dados e configurações específicos do usuário . Este é o diretório a ser usado para dados não temporários específicos do usuário. Qualquer coisa colocada aqui estará disponível em qualquer máquina na qual um determinado usuário efetue logon nas redes em que isso estiver configurado. Porém, não coloque arquivos grandes aqui, pois eles diminuem a velocidade de login / logout nesses ambientes.LocalAppData
para dados e configurações específicos do usuário e da máquina . Esses dados diferem para cada usuário e cada máquina. É também aqui que dados grandes e específicos do usuário devem ser colocados.ProgramData
para dados e configurações específicos da máquina . Eles são os mesmos, independentemente de qual usuário está conectado, e não farão roaming para outras máquinas em uma rede.GetTempPath
para todos os arquivos que podem ser limpos sem perda de dados quando não estiverem em uso. Este também é o lugar para coisas como caches , porque, como dados temporários, não é necessário fazer backup de um cache. Coloque seu enorme cache aqui e você poupará alguns problemas de backup.
"Documentos" em si só deve sempre ser usado se o usuário especificado-lo manualmente, digitando um caminho ou selecionando-o em uma caixa de diálogo Salvar. Essa é a única vez que ele é sempre apropriada para salvar o material em "Documentos".
fonte
Respostas:
Teria de haver algum incentivo visível. Por exemplo, se os usuários precisassem fornecer permissão para salvar na pasta Documentos (no momento da instalação), os programadores evitariam acionar essa caixa de diálogo assustadora.
Uma vez que você tenha o incentivo, as pessoas naturalmente encontrarão documentação como "Salvar dados do programa específicos da máquina no ProgramData" enquanto tentam resolvê-lo.
Na verdade, muitos problemas podem ser resolvidos por uma boa estrutura de permissões ...
fonte
Em teoria, algo poderia ser feito. Em teoria, a Microsoft poderia:
É preciso dizer que a Apple tem sido muito mais proativa com esse tipo de coisa. E isso mostra a qualidade das coisas que são executadas em suas plataformas.
fonte
Acho que você responde à pergunta na medida em que ela se resume à educação de programadores. Eu não sei o suficiente sobre a API do Windows e se o armazenamento de coisas
Documents
é particularmente fácil, mas se não, os aplicativos não devem poluí-lo. Eu acho que tudo se resume a ter um local conhecido por usuário onde os dados podem residir. Para os tipos de dados sobre os quais você fala, o Mac OS X usa a~/Library
pasta, embora alguns aplicativos ainda sigam o exemploDocuments
. Talvez algo semelhante deva existir (para o Windows).Pessoalmente, mantenho meus documentos em uma pasta com o mesmo título na raiz do Dropbox, o que adiciona um nível extra de trabalho para mim, mas me salva do problema que você levantou.
fonte
Embora eu entenda que você deseja se envolver em uma discussão sobre como fazer com que os desenvolvedores parem de fazer isso, isso pode acabar se tornando uma daquelas coisas, como ícones de notificação da barra de tarefas que não podiam ser interrompidos, de modo que a Microsoft simplesmente os colocou debaixo do tapete.
Eu escrevi anteriormente sobre a pasta Documentos, comparando-a a sair de um bairro ruim . Como usuário, criei vários hacks para tentar limpá-lo por conta própria. Marcaria todas as pastas não convidadas como "ocultas", o que as faria desaparecer do Explorer. Eu criaria links simbólicos para pastas do Visual Studio 2005, 2008, 2010 em uma pasta "Visual Studio" comum etc.
Mas, mesmo com os scripts do PowerShell para automatizá-lo, eu cansei de fazê-lo em todas as novas máquinas que usei. Felizmente, no Windows 7, há outra opção que funciona muito bem para mim.
Como o Windows 7 tende a usar como padrão a biblioteca "Documentos" , em vez da pasta Documentos. Simplesmente removi a pasta% userprofile% \ documents desta biblioteca e adicionei minha pasta do Dropbox. Então agora abra / salve as caixas de diálogo padrão nesse local e, quando clico em Iniciar -> Documentos, ele me leva ao meu Dropbox.
Por fim, eu adoraria ver algum tipo de certificação básica para aplicativos semelhantes às diretrizes da iOS App Store. Mas eles nem conseguem que os fabricantes de drivers assinem seus drivers ...
fonte
Eu acho que a estratégia de longo prazo deve ser parar de armazenar qualquer coisa que não seja documentos em arquivos. Os dados do sistema, especialmente as configurações, devem ser armazenados em sistemas de armazenamento que se assemelham mais a um banco de dados que a um sistema de arquivos. Pontos extras se esse banco de dados puder ser fácil e automaticamente sincronizado com um serviço na Web, para que você tenha efetivamente um conjunto de configurações, independentemente de quantos computadores você usa e onde.
Não sei muito sobre a história dos sistemas de arquivos, mas parece-me que isso foi percebido bem cedo nesse sistema e que os arquivos executáveis são uma "coisa" fundamentalmente diferente dos documentos. Então eles foram guardados em uma pasta especial (então chamada diretório)
C:\DOS
e o usuário estava basicamente no controle do resto da unidade.Ninguém realmente previu quanto sistemas mais complexos e incontroláveis se tornariam ao longo dos anos e que confusão isso faria. Acho que é hora de repensar a tecnologia desde o início e alavancar a sinergia da nuvem. Pontos de bônus se uma solução de código aberto viável decolar antes que a empresa o faça :)
fonte
Mesmo que algum programa ainda armazene alguns dados no Documents , acho que a maioria armazena seus dados no AppData , então eles já estão indo na direção certa, no entanto, não há muito o que os usuários possam fazer: cada programa é responsável por isso. faz.
fonte
Solução:
1. Clique com o botão direito do mouse na pasta 'Documentos' e selecione a guia 'local'.
2. Altere o local 'Documents' para outro local. Escolha 'C: \ Admin \ Configs' (depois que isso for feito, todos os aplicativos gravados em 'documents' deverão ser enviados para C: \ Admin \ Configs.
Mas isso resolve apenas metade do problema, o próximo passo deve ser bastante óbvio.
Você deve poder adicionar esse diretório às bibliotecas e excluir o antigo. Defini deliberadamente um nome de pasta diferente em 'C: \ User \ ** Documentation **' porque eu queria garantir que nada poderia ser um caminho difícil para isso. pasta.
Caso a pasta 'documentos' apareça novamente em seu C: \ Usuário \ devido ao fato acima, basta clicar com o botão direito do mouse na pasta e torná-la uma pasta invisível.
fonte
Armazenar configurações em um arquivo de texto é uma solução abrangente para várias plataformas.
A menos que os desenvolvedores criem um padrão de banco de dados de configurações entre plataformas, acho que a maioria de nós continuará usando arquivos de texto despejados no diretório do usuário.
Aqueles que são inteligentes criarão interfaces de configurações diferentes para sistemas que permitem mecanismos de armazenamento de configurações especializados (como o Registro do Windows).
fonte