Cómo incorporar SVN y confluencia

Mi jefe quiere que usemos subversion para nuestra documentation de MS Word. La idea es que solo nuestro departamento tenga acceso a los documentos de Word, por lo que los actualizamos y los corregimos.

Pero queremos compartir estos documentos con otras personas de nuestra compañía. Usamos confluencia para controlar el acceso.

Actualmente, cuando actualizamos el documento de Word, nos comprometemos con SVN y luego actualizamos el file adjunto (visto como una página) en Confluence. Esto nos permite enviar por correo electrónico una URL a un documento determinado, y solo permite que personas con los permissions correctos en Confluence puedan verla. Esto es lo que queremos.

¿Hay alguna forma de tener confluencia reference la versión más reciente del file especificado en SVN? Me gustaría realizar cambios en SVN y que los usuarios siempre vean la versión más reciente en Confluence.

Esta request no puede satisfacerse, ya que solicita funciones que abarquen otros productos de Atlassian. La coincidencia más cercana a esta request es insert enlaces a Atlassian Fisheye en Confluence, pasando por una capa de direccionamiento indirecto ( [Confluence]->[Fisheye]->[SVN] ).

La integración real de Confluence para SVN no existe, porque cae fuera de los límites del scope del producto de Confluence. En cambio, Atlassian proporciona otras herramientas para este fin, como Fisheye y JIRA , para interactuar directamente con SVN.

Si desea desarrollar una stack de services que se acerque lo más posible a la request original de su jefe, considere seguir este tutorial para establecer la suite completa e integrada que ofrece Atlassian. Cualquier cosa más allá de esto debe considerarse a través de complementos de la comunidad o de la propia empresa.

(Divulgación completa: no trabajo para Atlassian ni tengo ninguna relación comercial preexistente con ellos. Simplemente he usado su software en empresas a las que he estado empleado).

Creo que no hay ningún complemento para este caso, pero posiblemente pueda escribir un pequeño script de shell que use Confluence CLI para enviar files modificados como un file adjunto a las páginas especificadas en Confluence.

¿No podría simplemente escribir un enlace de confirmación de publicación de SVN que verifica un repository o una extensión de file determinados y luego actualiza la tabla attachmentdata directamente en su database de confluencias?

  1. Pasa a la location binaria a svnlook junto con el nombre del repository y el número de revisión.
  2. Luego ejecuta svnlook para get una list de files modificados.
  3. A continuación, filtra los files para que solo se enumeren los documentos de Word.
  4. Luego, para cada file, obtiene el nombre de file y la ruta de file.
  5. Del nombre de file obtienes los datos del file.
  6. Luego ejecuta SQL para actualizar la input relevante de datos adjuntos.

Una guía para principiantes para Post Commit Hooks está disponible en Subversion Post-Commit Hooks 101 e información adicional está disponible en las siguientes preguntas de Stackoverflow:

  • cómo escribir un script svn hook?
  • ¿Puedo ejecutar un script cuando me comprometo con la subversión?

Recomiendo agregar un gancho post-commit en SVN en el server.

 @echo off SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe SET GREP=D:\SVN\Repo\hooks\grep.exe REM Write a list of modified *.doc files to a .log file ("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*\.doc$" > %2.log) REM ---------------------------------------- REM Here, you would use the file "%2.log" to push the updated word documents. REM ---------------------------------------- REM Clean up the .log file del %2.log 

MS Sharepoint tiene todas las características que necesita (versión de documento más acceso restringido, todas integradas, con una interfaz web) y es gratis (o al less, la versión base es, que hará lo que quiera)

Yo abandonaría toda la idea y luego

  1. Importe sus documentos de Word como páginas en Confluence (tengo en count que si tiene una gran cantidad de documentos, esto puede parecer una tarea mundana)
  2. Utilice la administración de permissions de Confluence para controlar el acceso … puede vincular la administración de usuarios con MS Active Directory y otros services de directory.

De esta forma, tiene 1) un sistema de control de permissions bastante práctico y 2) un sistema de control de versiones para sus documentos.