Cualquiera a quien le guste que su carpeta Documentos contenga solo cosas que coloque allí sabe que la carpeta Documentos estándar es completamente inadecuada para esta tarea. Cada programa parece querer poner su configuración, datos o algo igualmente irrelevante en la carpeta Documentos , a pesar de que hay carpetas específicamente para este trabajo 1 .
Para que esto no suene vacío, tome mi carpeta personal "Documentos" como ejemplo. Ni nunca lo uso, en la que nunca, bajo ninguna circunstancia, guardar nada en esta carpeta a mí mismo. Y, sin embargo, contiene 46 carpetas y 3 archivos en el nivel superior, para un total de 800 archivos en 500 carpetas. Eso es 190 MB de "documentos" que no creé. Obviamente, cualquier documento real se perdería de inmediato en este desastre.
Mi pregunta es : ¿se puede hacer algo para mejorar la situación lo suficiente como para que los "Documentos" sean útiles nuevamente, digamos en los próximos 5 años? ¿Pueden los programadores ser educados en masa para no usarlo como vertedero? ¿Podría el sistema operativo comenzar a informar alguna ubicación "falsa" oculta bajo AppData a través de las API existentes, mientras solo permite que Explorer y los diversos cuadros de diálogo Abrir / Guardar sepan dónde reside la carpeta de documentos "real"? ¿O hay intentos completamente inútiles o incluso innecesarios?
1 Para el registro, aquí hay un resumen rápido de los diversos directorios estándar que deben usarse en lugar de "Documentos":
RoamingAppData
para datos y configuraciones específicas del usuario . Este es el directorio a utilizar para datos no temporales específicos del usuario. Todo lo que se coloque aquí estará disponible en cualquier máquina en la que un usuario determinado inicie sesión en redes donde esté configurado. Sin embargo, no coloque archivos grandes aquí, porque ralentizan el inicio / cierre de sesión en dichos entornos.LocalAppData
para datos y configuraciones específicas de usuario y máquina . Estos datos difieren para cada usuario y cada máquina. Aquí también es donde se deben colocar datos muy grandes específicos del usuario.ProgramData
para datos y configuraciones específicas de la máquina . Estos son los mismos independientemente del usuario que haya iniciado sesión y no se desplazarán a otras máquinas en una red.GetTempPath
para todos los archivos que pueden borrarse sin pérdida de datos cuando no están en uso. Este es también el lugar para cosas como cachés , porque al igual que los datos temporales, no es necesario hacer una copia de seguridad de un caché. Coloque su enorme caché aquí y le ahorrará a su usuario algunos problemas de copia de seguridad.
"Documentos" en sí mismo sólo deben nunca ser utilizados si el usuario ha especificado manualmente mediante la introducción de una ruta o seleccionándolo en un cuadro de diálogo Guardar. Esa es la única vez que se Alguna vez apropiada para guardar cosas en "Documentos".
fuente
Respuestas:
Tendría que haber algún incentivo visible. Por ejemplo, si los usuarios tuvieran que proporcionar permiso para guardar en la carpeta Documentos (en el momento de la instalación), los programadores desearían evitar activar ese diálogo aterrador.
Una vez que tenga el incentivo, la gente tropezará naturalmente con documentación como "Guardar datos de programa específicos de la máquina en ProgramData" mientras intenta resolverlo.
En realidad, un buen marco de permisos podría resolver muchos problemas ...
fuente
En teoría, se podría hacer algo. En teoría, Microsoft podría:
Hay que decir que Apple ha sido tradicionalmente mucho más proactiva con este tipo de cosas. Y se nota en la calidad de las cosas que se ejecutan en sus plataformas.
fuente
Creo que respondes la pregunta porque se reduce a la educación del programador. No sé lo suficiente sobre la API de Windows y si almacenar cosas
Documents
es particularmente fácil, pero si no, las aplicaciones no deberían contaminarlo. Creo que se trata de tener una ubicación conocida por usuario donde puedan residir los datos. Para el tipo de datos de los que habla, Mac OS X usa la~/Library
carpeta, aunque algunas aplicaciones aún mantienen las cosas debajoDocuments
. Tal vez algo similar debería (¿existe?) Para Windows.Personalmente, mantengo mis Documentos en una carpeta con el mismo título debajo de mi raíz de Dropbox, lo que agrega un nivel adicional de trabajo para mí, pero me salva del problema que ha planteado.
fuente
Aunque entiendo que desea entablar una discusión sobre cómo lograr que los desarrolladores dejen de hacer esto, podría terminar convirtiéndose en una de esas cosas, como los iconos de notificación de la barra de tareas que no se pudieron detener, por lo que Microsoft simplemente los barrió bajo la alfombra.
Anteriormente escribí en un blog sobre la carpeta Documentos, comparándola con mudarse de un vecindario malo . Como usuario, se me ocurrió un montón de trucos para tratar de limpiarlo por mi cuenta. Marcaría todas las carpetas no invitadas como "ocultas", lo que las haría desaparecer del Explorador. Crearía enlaces simbólicos para las carpetas de Visual Studio 2005, 2008, 2010 en una carpeta común de "Visual Studio", etc.
Pero incluso con los scripts de PowerShell para automatizarlo, me cansé de hacerlo en cada nueva máquina que usaba. Afortunadamente, en Windows 7 hay otra opción que me funciona bastante bien.
Dado que Windows 7 tiende a la configuración predeterminada de la biblioteca "Documentos" en lugar de la carpeta Documentos. Simplemente eliminé la carpeta% userprofile% \ documents de esta biblioteca y en su lugar agregué mi carpeta de Dropbox. Así que ahora abre / guarda los cuadros de diálogo predeterminados para esta ubicación y cuando hago clic en Inicio -> Documentos, me lleva a mi Dropbox.
En última instancia, me encantaría ver algún tipo de certificación básica para aplicaciones similares a las pautas de iOS App Store. Pero ni siquiera pueden hacer que los fabricantes de controladores firmen sus controladores ...
fuente
Creo que la estrategia a largo plazo debería ser dejar de almacenar cualquier otra cosa que no sean documentos en archivos. Datos del sistema, especialmente configuración, deben almacenarse en sistemas de almacenamiento que se parezcan más a una base de datos que a un sistema de archivos. Puntos de bonificación si esa base de datos se puede sincronizar fácil y automáticamente con un servicio en la web, por lo que efectivamente tiene un conjunto de configuraciones independientemente de cuántas computadoras use y dónde.
No sé mucho sobre la historia de los sistemas de archivos, pero me parece que se dio cuenta bastante temprano de ese sistema y que los archivos ejecutables son una "cosa" fundamentalmente diferente a los documentos. Entonces esos se guardaron en una carpeta especial (luego llamada directorio) como
C:\DOS
y el usuario tenía básicamente el control del resto de la unidad.Nadie predijo realmente cuánto se volverían sistemas más complejos e inmanejables a lo largo de los años y qué desorden haría esto. Creo que es hora de repensar la tecnología desde cero y aprovechar la sinergia de la nube. Puntos de bonificación si una solución de código abierto viable despega antes de que una empresa lo haga :)
fuente
Incluso si algún programa aún almacena algunos datos en Documentos , creo que la mayoría almacena sus datos en AppData , por lo que ya están yendo en la dirección correcta, sin embargo, no hay mucho que los usuarios puedan hacer: cada programa es responsable de lo que hace.
fuente
Solución:
1. Haga clic con el botón derecho en la carpeta 'Documentos' y seleccione la pestaña 'ubicación'.
2. Cambie la ubicación de 'Documentos' a otro lugar. Elijo 'C: \ Admin \ Configs' (una vez hecho esto, todas las aplicaciones que escriban en 'documentos' deberían enviarse a C: \ Admin \ Configs).
Pero esto resuelve solo la mitad del problema, el siguiente paso debería ser bastante obvio.
Entonces debería poder agregar ese directorio a las bibliotecas y eliminar el antiguo, deliberadamente configuré un nombre de carpeta diferente en 'C: \ Usuario \ ** Documentación **' porque quería asegurarme de que nada podría dificultar el camino hacia ese carpeta.
Si la carpeta 'documentos' aparece nuevamente en su C: \ Usuario \ debido al hecho anterior, simplemente haga clic derecho en la carpeta y conviértala en una carpeta invisible.
fuente
Almacenar la configuración en un archivo de texto es una solución multiplataforma general.
A menos que los desarrolladores creen un estándar de base de datos de configuraciones multiplataforma, creo que la mayoría de nosotros seguiremos usando archivos de texto volcados al directorio del usuario.
Aquellos de nosotros que somos inteligentes crearemos diferentes interfaces de configuración para sistemas que permiten motores de almacenamiento de configuraciones especializadas (como el Registro de Windows).
fuente