Brainstorm
- Bulletproof: La aplicación puede cascar en cualquier momento (o morir la batería, o cosas similares) -> Journal para recuperar y para borrar versiones (antes conocidas como backups o snapshots), de forma que al arrancar la aplicación se continúa con las tareas que quedaron a medias.
- Pausar, continuar o cancelar: Si aplicamos lo de arriba, o con algún otro método, sería muy simple poner junto a la progressbar de una recuperación un botón para pausar y luego poder continuar con una recuperación, o para cancelarla directamente.
- Metadatos: Añadir descripciones y/o tags en las versiones. Esto podría hacerse con un menu contextual en la lista de backups de un fichero, y para hacerlo más cómodo aún (y opcional, por supuesto), podríamos sacar una ventana cada vez que pillamos un evento de inotify para que el usuario ponga una descripción de la versión que acabamos de detectar. Todo esto, solo tiene sentido si en el panel de las descripciones de las versiones aparece además de la fecha y el tamaño, la descripción de la versión.
- Búsqueda en metadatos: Si implementamos lo anterior, es justo y necesario poder hacer búsquedas de palabras en las descripciones de las versiones.
- Exportar e importar: Si importamos backups a un medio externo, lo lógico es que se lleguen a mezclar en ese medio externo (si no es de una sola grabación) versiones de ficheros de varios ordenadores o usuarios. Esto implica que en la base de datos hay que expresar esta información de forma explícita cuando se exporta a medios externos. Lo lógico es que al importar se mantengan las fechas originales que figuran en el medio, sin embargo, que las rutas se puedan acomodar a las necesidades del usuario que importa, ya que es posible que sean rutas existentes para otro usuario en otro ordenador.
- Sincronización: Es un caso específico de importar y exportar. Este caso la peculiaridad que tiene es que el path al que se importa es un path del que el usuario ya tiene versiones en el ordenador, y que se importa y exporta a la vez, dependiendo de qué fichero sea el más moderno. El caso de la sincronización, además aporta un sentido de automatización, en el que tiene sentido que el usuario desee sincronizar usualmente determinadas carpetas con un medio externo. Por esto tiene sentido que estos datos se guarden en la base de datos y se pregunte al usuario si quiere sincronizar automáticamente los ficheros con el medio cuando éste es insertado.
page revision: 0, last edited: 02 Apr 2008 23:52