Синхронизация

<<TableOfContents: execution failed [list index out of range] (see also the log)>>

Синхронизация содержимого нескольких вики может быть полезна в ряде случаев, например, при зеркалировании одной вики в целях резервного копирования. Она также может использоваться для получения доступа к копии содержимого вики на мобильном устройстве без необходимости быть подключенным к сети.

Цели синхронизации

Частичная или полная синхронизация содержимого вики решает задачу наличия одинакового содержимого (не обязательно историю версий) при условии избегания конфликтов и поддержке слияния, обеспеченного соответствующим пользовательским интерфейсом с надлежащей степенью удобства. Для синхронизации не требуется обоюдной сетевой доступности вики, достаточно лишь чтобы вики, инициирующая синхронизацию, имела доступ к удалённой вики по HTTP.

Использование

Первым шагом является регистрация ИнтерВики-имени удалённой вики. Это может быть сделано на странице InterWikiMap или в файле intermap.txt (см. КакНастраивать).

(!) Задайте параметр interwikiname в файле конфигурации wikiconfig.py. По умолчанию данный параметр закомментирован.

После этого необходимо создать что-то вроде «страницы задания», содержащей все параметры синхронизации. Эта страница будет дополняться логом процесса синхронизации. См. ниже список доступных параметров. Параметры задаются в формате словаря (см. ПомощьПоСловарям). Примером и подспорьем при составлении задания является ШаблонЗаданиеСинхронизации, который уже содержит ряд заданных параметров.

После создания страницы достаточно выбирать «SyncPages» в списке доступных действий и запустить синхронизацию.

Конфигурация

За исключением параметра remoteWiki, все параметры опциональны. Параметры должны храниться в форме словаря (см. также WikiDict) на странице задания.

remoteWiki

имя ИнтерВики удалённой вики. Важно отметить, что для того, чтобы доступ по имени ИнтерВики был выполнен успешно, оно должно быть указано таковым в конфигурации удалённой вики (в параметре interwikiname) её администратором. В противном случае будет выдана ошибка.

remotePrefix
префикс, добавляемый в начале имени удалённой страницы при поиске страниц и их отправке. В случае нежелания засорения основного пространства имён удалённой вики, можно установить этот параметр для создания всех страниц как вложенных страниц некоей страницы удалённой вики.
localPrefix
префикс, добавляемый в начале имени локальной странице при получении новых страниц. Используется, в основном, в случае нежелания засорения основного пространства имён локальной вики. Можно использовать данный параметр для агрегации нескольких различных удалённых сайтов на одном локальном.
pageMatch
в случае наличия данного параметра, его значение используется как регулярное выражение, которое определяет страницы для синхронизации.
pageList

данный параметр (в случае его наличия) задаёт список страниц для синхронизации. При задании этого параметра параметр pageMatch не используется. Имена странц разделяются запятыми, никакой синтаксис (например, [[...]] для задания свободных ссылок) не должен использоваться.

groupList

при задании данного параметра в качестве источника списков страниц для синхронизации используются перечисленные в его значении имена страниц групп. Параметры pageMatch и pageList при этом игнорируются. Важно отметить, что выбор страниц для синхронизации не выполняется рекурсивно (то есть, если на странице группы указана другая группа, то страницы, указанные на ней, не будут синхронизированы, только она сама). Синтаксис указания списка страниц групп такой же, как и у параметра pageList.

direction

направление выполнения синхронизации. Может принимать значения «Down» (вниз) или «Both» (двунаправленно). Значения регистронезависимы. «Down» означает, что локальные изменения не записываются на удалённую вики, «Both» — что изменения объединяются. Важно отметить, что односторонняя синхронизация в некоторых случаях медленнее и использует больше трафика.

user
Имя пользователя, используемое для аутентификации на удалённой вики.
password

Пароль, используемый для аутентификации на удалённой вики. /!\ Не указывайте пароль на странице в случае, если не можете гарантировать, что никто более не сможет его прочитать! В этом случае задайте только значение параметра userМойнМойн запросит пароль автоматически.

Некоторые правила

Советы новичкам