Интеграция Subversion и SMWiki

From Wiki4Intranet
Jump to: navigation, search


Задача интеграции

Иногда в рамках проекта, использующего Subversion, удобно хранить в репозиттории и различные диаграммы/картинки/документы. В то же время часть документации (например, для заказчика) может быть написана и в SMWiki. В этом случае встает задача удобной интеграции картинок и файлов, хранящихся в Subversion, в документы SMWiki.

Предположим, что есть какая-то wiki-статья, в которой нужна картинка (диаграмма) и какой-то файлик (например, исходник этой диаграммы в формате Visio). "Ручной" вариант, без каких-либо средств интеграции, предполагает, что после внесения любых изменений в эту диаграмму под Subversion, придется также заказчать экспортированную картинку и новый файл .vbs в wiki. Это довольно неудобно, особенно, если изменения вносятся довольно часто, а самих файлов к публикации не так много.

Для упрощения такой интеграции были сделаны некоторые доработки на стороне сервера SMWiki и написано два специальных шаблона: SvnLink и SvnImage.

Файлы, опубликованные с помощью этих шаблонов, будут быть видны всем пользователям SMWiki (в т.ч.и заказчикам), хотя при этом они могут не иметь прямого доступа к репозиторию Subversion.

Caution.svg

Это означает, что зная URL в репозитории Subversion, любой пользователь сможет достать текущую версию этого файла просто через SMWiki. Каких-то ограничения на такие действия пока не накладывалось. Это следует иметь в виду.

Шаблон SvnLink

Шаблон SvnLink позволяет разместить в SMWiki ссылку на файл, лежащий в репозитории Subversion. По этой сcылке всегда будет доступна самая свежая версия файла, из головной ревизии репозитория.

У шаблона SvnLink есть единственный параметр - путь к файлу в репозитории.

Рассмотрим на примере. Пусть некоторый файл расположен в Subversion (например в репозитории trade-nets) по следующему URL:

https://svn.office.custis.ru/trade-nets/some-projects/docs/file1.dat.

Тогда ссылка на него в разметке SMWiki будет выглядеть так:

{{SvnLink|trade-nets/some-projects/docs/file1.dat}}

К сожалению, сейчас нет возможности указать видимую подпись для ссылки, она всегда будет совпадать с указанным путем к файлу.

Шаблон SvnImage

Шаблон SvnImage позволяет вставить в wiki-страницу картинку из репозитория Subversion. Аналогично шаблону SvnLink, в шаблоне SvnImage также есть единственный параметр - путь к файлу в репозиториии.

Пусть некоторая картинка расположена в Subversion по следующему URL:

https://svn.office.custis.ru/trade-nets/some-projects/docs/pic1.jpg.

Тогда для вставки этой картинки в wiki-страницу нужно написать в разметке следующее:

{{SvnImage|trade-nets/some-projects/docs/pic1.jpg}}

Эта картинка также будет обновляться на wiki-странице автоматически, когда кто-то фиксирует в репозитории ее новую версию.

Существенным недостатком, по сравнению со стандартными загружаемыми wiki-картинками является то, что нельзя создать уменьшенное изображение (thumbnail) - картинка выводится всегда в полный размер, как она есть, без рамок и подписей.

Особенность публикации для SMWiki

Чтобы файл из репозитория SVN был доступен в SMWiki - нужно сделать дополнительное приседание.

Необходимо на файле добавить свойство SVN wiki:visible и задать его значение sm.

Свойство на файле из FileExplorer (если установлен TortoiseSVN): Правый клик на файле, в контекстном меню TortoiseSVN/Properties