Интеграция Subversion и SMWiki
Задача интеграции
Иногда в рамках проекта, использующего Subversion, удобно хранить в репозиттории и различные диаграммы/картинки/документы. В то же время часть документации (например, для заказчика) может быть написана и в SMWiki. В этом случае встает задача удобной интеграции картинок и файлов, хранящихся в Subversion, в документы SMWiki.
Предположим, что есть какая-то wiki-статья, в которой нужна картинка (диаграмма) и какой-то файлик (например, исходник этой диаграммы в формате Visio). "Ручной" вариант, без каких-либо средств интеграции, предполагает, что после внесения любых изменений в эту диаграмму под Subversion, придется также заказчать экспортированную картинку и новый файл .vbs в wiki. Это довольно неудобно, особенно, если изменения вносятся довольно часто, а самих файлов к публикации не так много.
Для упрощения такой интеграции были сделаны некоторые доработки на стороне сервера SMWiki и написано два специальных шаблона: SvnLink и SvnImage.
Файлы, опубликованные с помощью этих шаблонов, будут быть видны всем пользователям SMWiki (в т.ч.и заказчикам), хотя при этом они могут не иметь прямого доступа к репозиторию Subversion.
- Это означает, что зная 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