En el trabajo, estoy a cargo de mantener la organización de una gran cantidad de datos variados en un sistema de archivos estándar. Parte de esto viene con una clasificación sensata (por similitud, necesidad, acceso de lectura / escritura, etc.), pero la parte más importante es realmente documentarlo: qué documentos / archivos / medios deben ir a dónde, qué no debe estar en este directorio, "para algo ligeramente diferente, ver ../../other-dir", etc.
Por el momento, he documentado esto usando un archivo de texto sin formato readme
en cada directorio que quiero documentar. Si alguien no está seguro de qué debe estar en cualquier directorio, lee ese archivo.
Esto funciona bien, pero parece extraño que tenga esta solución personalizada primitiva para un problema que cualquier responsable de una estructura de directorio no trivial debe experimentar. Todas las compañías que conozco, por ejemplo, tienen algún tipo de sistema de archivos compartido donde la terminología acordada para la categorización es importante. En mi experiencia, las personas solo tienen que aprender qué es qué mediante prueba y error y experimentación.
Permítame proponerle una mejor solución, y espero que pueda decirme si existe. Cualquier directorio en cualquier sistema de archivos puede tener un archivo de texto plano oculto llamado .readme
. Sus contenidos son descriptivos del lenguaje humano. Utiliza un marcado como Markdown, con poco más que hipervínculos en negrita, cursiva y (relativa) a otros directorios. Ahora, un explorador de archivos habilitado adecuadamente buscará un archivo llamado .readme
cada vez que muestre un directorio. Si existe, su contenido se analiza y se muestra en un panel discreto cerca del widget de ruta de directorio. Se puede hacer clic en cualquier enlace que contenga, y el usuario será llevado al directorio de destino de ese enlace.
Creo que el esfuerzo de implementar tal estándar se vería recompensado muchas veces en ganancias de usabilidad. Tendríamos, digamos, complementos para Nautilus, Konqueror, etc. Podría usarse para mostrar información de directorio en las listas de archivos estándar que sirven los servidores web. Y así.
Entonces, pregunta: ¿existe tal cosa? ¿Si no, porque no? ¿La gente piensa que es una idea que vale la pena?
fuente
Respuestas:
Que yo sepa, no hay un estándar. Aquí hay algunas ideas de mi experiencia.
Configúralo, nunca lo cambies
Esto es donde la mayoría de las empresas fallan. Nada es peor que una estructura de sistema de archivos siempre cambiante. Si no es posible mantenerlo constante, entonces un sistema de archivos puro es el contenedor incorrecto para organizar su información. Use una base de datos o un sistema de gestión de contenido.
Use nombres de directorio descriptivos y consistentes
Nadie tiene tiempo para leer un
.filing
archivo ni nada más. Si los nombres de su directorio no se explican por sí mismos, probablemente se pierda de todos modos.Escriba una documentación para la estructura de su directorio.
Escriba un documento donde explique el papel de cada directorio. Da muchos ejemplos. Póngalo a disposición de cualquiera que tenga que trabajar con su estructura, pero no crea que nadie lo leerá. Debería ser más como una Biblia para ti. No es fácil encontrar un ejemplo para dicho documento, porque obviamente las compañías no lo publican. Un ejemplo de software de código abierto es el estándar de jerarquía del sistema de archivos .
Si esto suena un poco negativo, lo es. Nunca he visto un repositorio no trivial basado en un sistema de archivos con más de cinco usuarios trabajando a la larga en la práctica. El problema es que, independientemente de las categorías que establezca, las personas tendrán ideas completamente diferentes sobre ellas. Entonces para finalmente responder a sus preguntas:
¿Existe tal cosa?
No, no lo creo.
¿Si no, porque no?
En mi opinión: para una pequeña jerarquía estática con unos pocos usuarios es excesivo. Para una gran jerarquía cambiante con muchos usuarios, no funcionará porque la idea de categorías (= directorios, carpeta) no se escala.
¿La gente piensa que es una idea que vale la pena?
Hm, es una idea interesante. Para ver si la gente lo usará, alguien tiene que implementarlo. En lugar de un
.filing
archivo, puede almacenar esa información en una secuencia de datos alternativa (sí, las carpetas también pueden tener ADS). Puede usar atributos extendidos en Linux y OSX. El mayor problema probablemente sería parchear los navegadores de archivos.fuente
.filing
archivo, podría almacenar esa información en una secuencia de datos alternativa (sí, las carpetas también pueden tener ADS). Podría usar atributos extendidos en Linux y OSX". Posible, me imagino, pero disminuye la portabilidad y la transparencia que creo que es tan importante. ¿Qué pasa si quiero colocar todo en un repositorio git? Los archivos de texto sin formato se utilizan para la configuración específica del directorio (por ejemplo, htaccess), entonces, ¿por qué no también la documentación?El wasabi vale la pena intentarlo. En la raíz del proyecto, la fuente de texto sin formato servirá como una descripción general sólida del proyecto y puede lanzar el mismo documento en un navegador para obtener resultados más sofisticados.
Por supuesto, no es una solución basada en un sistema de archivos, pero hasta que todos los sistemas de archivos admitan algo común, wasabi (o su propia implementación) podría ser la mejor opción.
fuente
Su idea tiene algún mérito, pero me temo que cuando necesita algo como esto realmente significa que necesita algo más estructurado. Es decir, un CMS, tal vez solo uno liviano, pero definitivamente algo más que un simple archivo de texto.
Especialmente si desea restringir la escritura (o incluso el acceso) de documentos específicos (y, por lo tanto, sus carpetas que contienen) a algún subconjunto de su base de usuarios.
No especificas tu sistema operativo, pero hay productos excelentes (y gratuitos) como al aire libre que quizás podrían servirte mejor que tu configuración actual.
fuente
Aquí hay una idea. Escriba un script que le haga varias preguntas al usuario sobre el archivo y / o haga algunas coincidencias en el contenido del archivo, y luego recomiende la ubicación para colocar el archivo o lo coloque allí mismo. El script puede ser tan simple o tan complejo como usted quiera que sea.
El script actúa como un sistema de administración de archivos, un sistema de soporte de decisiones y una documentación viva de la jerarquía del sistema de archivos. El estándar de jerarquía del sistema de archivos de Linux es un poco un mito si lo piensas, porque hay una gran variación entre las distribuciones. Sin embargo, la mayoría de los usuarios de Linux / Unix en realidad no tienen que aprender sobre la jerarquía del sistema de archivos ellos mismos porque existen varios programas instalados en el sistema que administran la jerarquía de manera estandarizada (administrador de paquetes, herramienta de configuración, etc.). Varios marcos de aplicaciones también crean scripts para administrar sus directorios, por ejemplo, django tiene comandos de administración para crear un nuevo proyecto, un nuevo módulo de aplicación o archivos de migración de squash, etc.
Esto tiene la ventaja adicional de que el script puede crear varios enlaces simbólicos si es necesario buscar el archivo de más de una manera, por ejemplo, un índice basado en el autor del archivo o la fecha de creación o cualquier regla comercial que tenga. Puede simular el etiquetado con enlaces simbólicos. Una etiqueta es simple un enlace simbólico de un
tags
directorio, por lo quetags/mytag/myfile
puede ser un enlace simbólico aactual/myfile
.Además, también será posible cambiar la estructura de la jerarquía del sistema de archivos sin cambiar la interfaz de usuario.
Un sistema de archivos es una base de datos. No es una base de datos relacional, sino una base de datos jerárquica. Piense en ello como administrar una base de datos, realmente no desea exigir a las personas que tengan que aprender la estructura relacional, sino que desea que la aplicación presente al usuario las diversas tareas que deben realizar (por ejemplo, ¿está haciendo una mensualidad? Informe XYZ, genial, luego póngalo en esta carpeta y cree este enlace simbólico, y luego deberá modificar otro archivo para registrar que ha realizado el informe para este mes, etc.
fuente