sábado, 6 de febrero de 2010

Dropbox, un buen invento

Recientemente un amigo me pidió consejo sobre qué sistema usar para hacer copias de seguridad de sus archivos. Me preguntaba sobre si debía comprarse un disco duro externo para hacer copias periódicas.

Mi respuesta fue tajante: ni se te ocurra. Lo que te pasará será que cuando tu ordenador se estropee te darás cuenta de que la última copia es de hace tiempo y precisamente los documentos más importantes serán los que se han cambiado recientemente. Yo mismo tengo varios discos duros y dvds con copias de seguridad donde alguna vez he ido a buscar algo que no he consiguido localizar.

En eCliente utilizamos un sistema opensource de repositorio llamado subversion o SVN y funciona relamente bien. Es la evolución del CVS que inicialmente se pensó para gestionar versiones de código fuente de aplicaciones. Estos sistemas funcionan bien con ficheros planos pero bastante mal con ficheros binarios, que son la mayoría fuera del ámbito de la programación. El CVS para gestionar versiones de ficheros binarios básicamente lo que hacía era realizar copias completas con cada versión, independientemente de que hayan cambiado muy pocas cosas en el fichero. Así el repositorio crecía muy deprisa. Esta mala gestión de los ficheros binarios ya la soluciona el Subversion.

Las características principales del SVN:
  • gestión de versiones: permite saber qué cambios ha sufrido un fichero, qué persona lo ha cambiado así como recuperar cualquier versión del fichero
  • permisos por directorio e incluso por fichero: se pueden establecer permisos de lectura y escritura por cada directorio. Esto es realmente interesante a nivel de empresa ya que se puede controlar muy facilmente quien accede a qué e incluso dar acceso a proveedores y a clientes a ciertos directorios
  • integración desktop (windows, mac, linux): mediante un pequeño plugin se puede controlar desde la propia gestión de archivos del ordenador
  • acceso web: se permite acceder al repositorio a través de un navegador web (siempre con los controles de acceso definidos). Esto lo uso con frecuencia en mis clases para proyectar los materiales desde el ordenador del aula directamente que está conectado a internet
  • ficheros eliminados: se permite recuperar ficheros eliminados e incluso a las diferentes versiones que tuvieron antes de ser eliminados
  • notificaciones: es posible establecer avisos cuando se modifican ciertos directorios
  • minimiza el tráfico: cuando se modifica un fichero, al servidor únicamente se le envían los cambios, es habitual modificar un fichero de varias MB y que sólo se envíen unas pocas KB que corresponden a los cambios realizados
Aunque es un gran avance el uso de un repositorio de archivos, y da mucha tranquilidad saber que tus documentos están a buen recaudo, no todo es de color de rosas. El SVN presenta varios problemas:
  • no es desatendido: o dicho de otra forma, el usuario tiene que decir que quiere subir documentos cuando los ha modificado o bajarlos cuando piensa que alguien los ha podido modificar
  • mover es complicado: aunque se permite la acción de mover ficheros e incluso directorios esto no se puede llevar a cabo con el drag&drop habitual, sino que hay que hacerlo con mucho cuidado, y lo peor es que con frecuencia da problemas (si se hace bien es potente porque mantiene el rastro de las versiones movidas, pero es complicado hacerlo bien)
  • algunas veces provoca conflictos que son complicados de solucionar: el conflicto más habitual es cuando dos usuarios están trabajando simultaneamente en la misma versión de un fichero y uno de ellos sube sus cambios. El conflicto se da porque el segundo ha estado trabajando con una copia desactualizada y entonces el sistema al detectarlo no le permite consolidar sus cambios. Estos problemas se solucionarian si el sistema actualizase las copias locales de los ficheros de forma desatendida de forma que un usuario siempre tuviese en su ordenador la copia más actualizada
Desde hace unos meses uso Dropbox y me gusta como funciona. Es parecido a SVN en cuanto a que se trata de gestionar versiones y de trabajar en equipo, aunque en este caso es desatendido, los ficheros suben y bajan del servidor de forma automática. Esto es muy cómodo, aunque genera muchas versiones en el servidor con lo que podría ser complicado localizar una versión antigua cuando estemos es esa tesitura.

Una cuestión que Dropbox no abordan es la posibilidad de tener diferentes niveles de acceso, en Dropbox todos los usuarios acceden a toda la carpeta compartida, no es posible establecer permisos de lectura o escritura en subcarpetas.

Los problemas de mover ficheros o carpetas que tiene SVN, Dropbox los soluciona realmente bien y de forma transparente. Ahora bien, el hecho de no tener niveles de acceso provoca que te encuentres cambios en la carpeta que a veces se escapan de control, o que intentes borrar carpetas y una y otra vez vuelvan a aparecer vacías.

Y para terminar, señalo las características que creo que debería tener un sistema de repositorio de ficheros:
  • desatendido: he trabajado con los de ambos tipos y, aunque siendo desatendido se generan demasiadas versiones, la tranquilidad se incrementa y los conflictos disminuyen
  • niveles de acceso: Dropbox opta por simplificar la gestión de permisos y accesos hasta tal punto que no establece ninguna diferencia entre los usuarios que comparten una carpeta. SVN por el contrario está en el otro extremo, se puede establecer para cada usuario a qué carpetas puede acceder y si es en modo escritura o sólo lectura. Me quedo con esta segunda opción ya que es muy habitual restringir el acceso a carpetas a usuarios y también prohibir la escritura en otras carpetas
  • encriptación de ficheros: ni Dropbox ni ningún otro sistema similar que yo conozca codifica los archivos en el servidor. Tan sólo creo que iFolder permite codificar los archivos cuando se usa en modo mono-usuario, que no es el objetivo de este tipo de sistemas funcionar únicamente a modo de backup
  • compartir de forma pública: algo que hecho de menos tanto en SVN como en Dropbox es que exista la posibilidad de compartir en modo lectura y de forma pública una carpeta. Esto sería de gran utilidad ya que con frecuencia estas carpetas compartidas se usan para hacer trabajo en grupo que termina en ciertos documentos que se quieren hacer públicos
  • mail link to a file: con frecuencia tenemos que enviar ficheros por correo electrónico a proveedores, clientes o colaboradores. Estos ficheros están alojados en nuestro sistema de repositorio y sería una interesante funcionalidad el poder arrastrarlos directamente al correo electrónico de tal forma que lo que realmente se enviase fuese un enlace temporal al fichero en cuestión. De esta forma solucionamos el problema de enviar ficheros demasiado grandes por correo electrónico (existen servicios tipo FileMail que hacen esto) y por otro lado el receptor de ese enlace tiene acceso a la última versión del documento - que podría incluso cambiar después de enviar el correo (no creo que sea el único al que le ha pasado que justo después de enviar un documento por correo electrónico se da cuenta de que ha de rectificar algo)
Buen trabajo Dropbox!!!

7 comentarios:

  1. Un entrada muy instructiva, sigue así!!

    ResponderEliminar
  2. Utilizo DropBox desde hace tiempo. Se integra perfectamente en los escritorio de Windows y Linux (no he usado el de Mac), pero no veo similitud con svn o cvs, puesto que estos servicios los puedes instalar localmente mientras que dropbox no. Te sugiero que lo compares por ejemplo con "Ubuntu One" (https://one.ubuntu.com/) es joven y viene por defecto en las distribuciones de Ubuntu. De momento me quedo con DropBox.

    Felicidades por el blog que acabo de descubrir que tienes. ... lo seguiré.

    Oscar C.

    ResponderEliminar
  3. Dropbox se integra en el explorador de ficheros igual que SVN. Mira las dos imágenes de carpetas que incluyo en el post, la primera es SVN y la segunda Dropbox

    ResponderEliminar
  4. El gran problema que le veo, dentro que tiene miles de ventajas es que no permita en carpeta compartidas filtrar el tipo de archivos que se pueden subir. Por ejemplo en un entorno de trabajo debería poder indicar que solo ficheros tipo: DOC, XLS, PDF... lo habituales que se utilizan en la oficina.

    ResponderEliminar
  5. Me parece muy bueno Dropbox, yo lo uso en mi oficina, la desventaja que tiene es que no puedo manejar los archivos/carpetas con niveles de acceso, es decir, me gustaría que manejara permisos básicos como son: solo lectura, modificacion, acceso total, etc

    ResponderEliminar
  6. Es bueno, pero genera archivos en conflictos, que es lo que estoy tratando de evitar. si alguien sabe la solución, me lo hace saber por favor.
    Desde ya, muchas gracias

    ResponderEliminar
    Respuestas
    1. Buenas, una forma de no tener conflictos es no sincronizar. Debido a mucha pérdida de tiempo resolviéndolos encontré otro sistema en la nube (https://dataprius.com) Ahí está el bloqueo de archivos cuando alguien lo está usando evitando esos problemas.

      Eliminar