Как объединить SVN и Confluence для контроля доступа к файлам? - PullRequest
5 голосов
/ 23 марта 2012

Мой босс хочет, чтобы мы использовали subversion для нашей документации MS Word.Идея в том, что только наш отдел имеет доступ к документам Word, поэтому мы обновляем и фиксируем их изменения.

Но мы хотим поделиться этими документами с некоторыми другими сотрудниками нашей компании.Мы используем слияние для контроля доступа.

В настоящее время, когда мы обновляем документ Word, мы фиксируем SVN, а затем обновляем вложение (рассматриваемое как страница) в Confluence.Это позволяет нам отправлять URL-адрес определенного документа по электронной почте, и только люди с правильными разрешениями в Confluence могут просматривать его.Это то, что нам нужно.

Есть ли способ, чтобы Confluence ссылался на самую последнюю версию файла, указанного в SVN?Я хотел бы внести изменения в SVN, чтобы пользователи всегда видели самую последнюю версию в Confluence.

Ответы [ 6 ]

3 голосов
/ 01 апреля 2012

Этот запрос не может быть удовлетворен, потому что вы запрашиваете функции, которые отличаются от других продуктов Atlassian. Наиболее близким соответствием этому запросу является встраивание ссылок на Atlassian Fisheye в Confluence, проходящих через один уровень косвенности ([Confluence]->[Fisheye]->[SVN]).

Фактическая интеграция Confluence для SVN не существует, поскольку она выходит за пределы области действия продукта Confluence. Вместо этого Atlassian предоставляет для этой цели другие инструменты, такие как Fisheye и JIRA , для непосредственного взаимодействия с SVN.

Если вы хотите разработать стек обслуживания, максимально приближенный к первоначальному запросу вашего босса, рассмотрите возможность следования этому учебному пособию для создания полного интегрированного пакета, который предоставляет Atlassian. Все, что находится за этим, должно быть рассмотрено с помощью плагинов от сообщества или от самой компании.

(Полное раскрытие: я не работаю в Atlassian и не имею с ними каких-либо ранее существовавших деловых отношений. Я просто использовал их программное обеспечение в компаниях, в которых работал).

2 голосов
/ 23 марта 2012

Я думаю, что для этого случая нет плагина, но, возможно, вы можете написать небольшой скрипт оболочки, который использует CLI Confluence для отправки измененных файлов в качестве вложения на указанные страницы в Confluence.

0 голосов
/ 13 сентября 2016

Я бы отказался от всей идеи, а затем

  1. Импортировал ваши документы документов в виде страниц в Confluence (я имею в виду, что если у вас есть большое количество документов, это может показаться обыденной задачей)
  2. Используйте управление разрешениями Confluence для управления доступом ... вы можете связать управление пользователями с MS Active Directory и другими службами каталогов.

Таким образом, у вас есть 1) довольноудобная система контроля разрешений и 2) система контроля версий ваших документов.

0 голосов
/ 08 апреля 2012

Я бы порекомендовал добавить хук post-commit в SVN на сервере.

@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
0 голосов
/ 07 апреля 2012

MS Sharepoint обладает всеми необходимыми функциями (управление версиями документов плюс встроенный ограниченный доступ с веб-интерфейсом) и является бесплатной (или, по крайней мере, базовой версией, которая будет делать то, что вы хотите)

0 голосов
/ 02 апреля 2012

Не могли бы вы просто написать хук после фиксации SVN, который проверяет наличие определенного репо или данного расширения файла, а затем обновляет таблицу attachmentdata в вашей базе данных слияния напрямую?

  1. Вы передаете в двоичный каталог svnlook вместе с именем репозитория и номером ревизии.
  2. Затем вы запускаете svnlook, чтобы получить список измененных файлов.
  3. Затем вы фильтруете файлы так, чтобы в списке были только текстовые документы.
  4. Затем для каждого файла вы получаете имя файла и путь к файлу.
  5. Из имени файла вы получаете данные файла.
  6. Затем вы запускаете SQL для обновления соответствующей записи вложения.

Руководство для начинающих по зацепкам после фиксации доступно по адресу Зацепления после фиксации Subversion 101 , а дополнительная информация доступна по следующим вопросам Stackoverflow:

...