Help:Установка

После того, как вы успешно скачали Semantic MediaWiki вы можете начать процесс установки. На этой странице описывается то, как установить Semantic MediaWiki 1.6.0. Если вас интересует более старая версия, в конце статьи есть замечания, касающиеся особенностей установки предыдущих релизов. Также советуем обратиться к файлу INSTALL, поставляемому с вашей версией SMW - инструкции по установке в нем всегда будут соответствовать особенностям версии.

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

Перед установкой SMW, проверьте.соответствует ли все системным требования требованиям. Внимательно следуйте инструкциям, указанным в руководстве по установке, однако знайте, что Semantic MediaWiki не делает ничего непоправимого с вашими файлами и базой данных. В процессе установке просто добавляются несколько новых таблиц в БД, которые легко могут быть удалены. Заметим, однако, что сделанные семантические аннотации в тексте страниц останутся на месте и потребуют ручного удаления.

Disclaimer
Для начала убедитесь, что верно поняли условия использования, описанные в документе COPYING.

Требования

 * MediaWiki 1.15.0 и выше (тестировалось на версиях вплоть до 1.18alpha (r88635)).
 * установленное расширение Validator
 * PHP 5.* или выше (кроме версии 5.3.1)
 * MySQL >= 4.0.14 (кроме версий 5.1.49 to 5.1.52)
 * или PostgreSQL >= 8.3 (обратите внимание, что при выборе PostgreSQL потребуется несколько дополнительных шагов по установке (см. страницу PostgreSQL)


 * Замечания
 * SMW использует мультибайтовые функции PHP mb_*, такие как mb_strpos в библиотеке php_mbstring.dll. Иногда эта библиотека не включается в стандартный пакет PHP, обратитесь к соответствующей главе руководства  за деталями.
 * Для установки и обновления вам нужно иметь права на создание и изменение таблиц в базе данных (CREATE TABLE, ALTER TABLE). После установки SMW вы можете убрать эти привелегии и все должно работать нормально. При использовании скрипта SMW_setup.php используются настройки доступа из AdminSettings.php, что позволяет не давать википользователи БД лишние права.
 * При использовании стандартного, установленного по умолчанию хранилища SMWSQLStore2, SMW создает и изменяет временные таблицы для определенных семантических запросов. Для того, чтобы все запросы отрабатывали корректно необходимо, чтобы пользователь Д имел права CREATE TEMPORARY TABLES. Однако вы можете запретить исполнение таких запросов, дописав следующее в Localsettings.php:
 * При использовании хранилища SMWSparqlStore (RDF store connector), SMW использует CURL-функции PHP. Не забудьте их включить.

В общем, не стоит держать у себя устаревшие версии движка MediaWiki, потому что с каждым новым релизом устраняется большое количество уязвимостей и дыр в системе безопасности. Если на вашем сайте используется PHP4, SMW не заработает. Кроме того, будет очень сложно адаптировать код к PHP4. Если у вас стоит PHP5, но версия MediaWiki устарела, вам могут понадобиться дополнительные патчи. Возможно, в этом случае вам стоит скачать более старую версию SMW и следовать инструкциям в файле INSTALL.
 * Запуск SMW на более старых версиях MediaWiki

Установка
Установка SMW  состоит из трех простых шагов:

'''(1) Копирование файлов. ''' Распакуйте архивы с расширениями Validator и Semantic MediaWiki, и скопируйте соответствующие директории в папку "[wikipath]/extensions/".

'(2) [опционально]'' Настройте пространства имен на вики. ''' Если на своей вики вы добавляли и использовали дополнительные пространства имен, вам нужно установить опцию $smwgNamespaceIndex перед тем, как включать SemanticMediaWiki.php. Semantic MediaWiki использует дополнительные индексы пространств имен, со 102 по 109. Индексы 104 и 105 нужны только если включена опция $smwgHistoricTypeNamespace. Индексы 106 и 107 зарезервированы для расширения Page Forms (formerly Semantic Forms) и не используются самой SMW. Для подробностей обратитесь к документации в файле SMW_Settings.php. Если вы добавите пространства имен после установки SMW, их номера должны быть больше чем 109.

Замечание: Semantic MediaWiki принимает в расчет семантические аннотации, расположенные только в пределах некоторых пространств имен. К примеру, по умолчанию игнорируются семантический анотации на страницах обсуждений. Если вам хочется изменить список пространств имен, в которых будут доступны семантические аннотации, вам нужно почитать документацию об опции $smwgNamespacesWithSemanticLinks</tt> и соответствующим образом изменить файл LocalSettings.php.

'''(3) Подключите расширения. ''' Для этого следует добавить следующие строки в файл LocalSettings.php: где имя_вашего_сервера следует заменить на доменное имя или IP адрес вашей вики. Значение, которое вы подставите в enableSemantics будет использоваться при экспорте вики-страниц в RDF для последующего использования в Semantic Web.

'''(4) Обновите базу данных. ''' Залогиньтесь с привилегиями администратора и пройдите на страницу "Special:SMWAdmin". Тут требуется сделать две операции.
 * 1) Во-первых, запустите скрипт автоматической настройки БД, нажав на кнопку Инициализация или обновление таблиц. Для этого вам нужно иметь права на создание и модификацию таблиц.
 * 2) Затем запустите обработку существующих страниц, нажав на кнопку "Начать обновление данных". Этот шаг займет некоторое время, можете следить за прогрессом, заходя на страницу Special:SMWAdmin

Проверка установленной Semantic MediaWiki
Если вы не уверены в том, что установка прошла гладко, вы можете проверить это:
 * 1) Во-первых, пройдите на страницу Special:Version. Если все в порядке, среди установленных расширений там должна  появиться  Semantic MediaWiki (номер версии) в самом верху раздела "Семантические расширения".
 * 2) Чтобы проверить, работает ли механизм семантических свойств, создайте страничке "TestSMW" и введите там следующий текст:  and in it

Property test: testproperty::Dummypage

Когда вы нажмете кнопку предварительного просмотра, вы должны увидеть Factbox в самом низу экрана, в котором появится свойство testproperty, указывающее на страницу Dummypage.

Обновление более старой версии
Обратите внимание, что SMW 1.6.0 теперь зависит от расширения Validator: вам придется установить Validator перед началом установки Semantic MediaWiki, а то ничего не заработает! Обязательно убедитесь, что вы включили Validator в файле LocalSettings.php и что строка require_once("$IP/extensions/Validator/Validator.php")</tt> стоит раньше включения SMW. Нужная версия Validator поставляется прямо в пакете с SMW. Если же вы качали код из svn, ставить Validator придется вручную.

Если вы обновляете SMW 1.5.0 и выше
Обновлять вики, работающие на SMW 1.5.* довольно просто - вам лишь нужно заменить старые файлы и запустить обновление БД (нажам кнопку на вики-страничке Special:SMWAdmin или запустив скрипт SMW_setup.php из командной строки). Также настоятельно рекомендуется запустить обновление данных (вторая кнопка на странице Special:SMWAdmin).

Как говорилось выше, не забудьте установить расширение Validator и включить его в LocalSettings.php перед строкой, включающзей SMW:

Сама SMW должна работать хорошо после обновления, однако это нельзя со всей определенностью сказать про семантические расширения, расчитанные на старые версии Semantic MediaWiki. Поэтому, обязательно обновите все ваши расширения и, если требуется, попросите разработчиков сделать новые версии совместимыми с SMW 1.6.

Если вы еще этого не сделали, измените включение файла SMW_Settings.php на включение SemanticMediaWiki.php:

В будущих версиях SMW_Settings.php будет отключен!

Пространство имен Type
SMW больше не использует пространство имен "Type" и "Type talk." ("Тип" и "Обсуждение типа" в русской локализации). Все типы теперь встроены и нет никакого смысла занимать целое пространство имен только для того, чтобы их документировать. Теперь, зайд на страничку Special:Types можно просмотреть все свойства определённого типа, как можно было раньше на страничке типа.

Если же вы все же хотите использовать пространство име Type, вы должны установить переменную Help:Configuration перед тем, как включать SMW в вашем файле LocalSettings.php.

Пользовательские единицы измерения
Собственно, единственным назначением страниц в пространстве имен Type было объявление пользовательских единиц измерения, которые бы поддерживали конвертацию. Объявление семантических свойств, измеряющихся в пользовательских единицах измерения теперь изменилось:
 * 1) Тип этих свойств отныне называется "Quantity" (а не страница "custom", как раньше)
 * 2) Коэффициенты, использующиеся для конвертации единиц измерения теперь заполняются прямо на странице свойства.

Type:Record
Изменилось объявление свойств, имеющих тип Record (Запись): в полях записи теперь нужно указывать не типы, а конкретные семантические свойства. Поясним это на примере. Пусть у вас было свойство типа запись:

has type::Record

оно использовало следующее объявление

has fields::Page; Number; String

Теперь вам требуется заменить это оъявление на что-то подобное

has fields::my page; my number; my string

где под "my page", "my number", and "my string" имеются в виду свойства типов Page, Number, String

После того, как вы преобразуете свойства типа Record, вам следует восстановить поврежденные таблицы, зайдя в панель администрирования SMW.

Обновление версий SMW, меньших 1.4.3
Пользователи, которые обновляются с версии 1.4.3 или более ранней должны помнить о том, что отныне n-арные свойства объявляются с помощью свойств типа Type:Record а также о том, что в системе больше нет встроенного типа географических координат - для него вам надо будет поставить расширение Semantic Maps. Если вы обновляетесь с очень старой версии SMW, посмотрите на  инструкции к релизу 1.5.

Опции настроек
Некоторые настроечные опции (переменные, которые записываются в LocalSettings.php</tt>) изменились по сравнению с SMW 1.0. Все настройки подробно документированы в файле SMW_Settings.php</tt> Ниже мы приводим список опций и версии, в которых они появились.
 * [1.4] До версии 1.4, значение по умолчанию для опции $smwgQComparators</tt> равнялосьs '<|>|!'</tt>. Теперь по умолчанию там используется значение '<|>|!|~'</tt>, то есть по умолчанию добавлен компаратор "like" ~</tt>.
 * [1.4] Версия 1.4 все еще поддерживается опцию $smwgSMWBetaCompatible</tt>, включающую старый стиль написания -запросов и пространство имен Relation. Теперь эта обратная совместимость разрушена и вам придется переделать запросы в новую форму.
 * [1.3] Начиная с версии 1.3, Factbox по умолчанию скрыт и появляется внизу страницы только при предварительном просмотре результатов правки. Кроме этого, на тулбаре по умолчанию показывается ссылка на страницу Special:Browse. Если вы хотите изменить политику показывания области данных, воспользуйтесь опцией $smwgShowFactbox = SMW_FACTBOX_NONEMPTY;</tt>
 * [1.2.1] В SMW по умолчанию больше не поддерживается синтаксис вложенных ссылок в значениях семантических свойств. Отныне для включения этой возможности надо использовать опцию $smwgLinksInValues = true;</tt>
 * [1.2] Если в вашей вики в  </tt>-запросах используется пространство имен Relation:</tt>, стоит включить опцию $smwgSMWBetaCompatible = true;</tt> перед строкой, включающей SMW в файле LocalSettings.php. Обратите внимание, что это будет работать только для тэга  </tt>. В функции парсера #ask</tt> пространство имен Relation не поддерживается.
 * [1.2] Если у вас была установлена настройка <tt>$smwgQDisjunctionSupport = false;</tt>, то начиная с этой версии нужно добавить следующие строки в ваш файл <tt>LocalSettings.php</tt>:

$smwgQFeatures       = SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY; $smwgQConceptFeatures = SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY & ~SMW_CONCEPT_QUERY;


 * [1.0] Опция <tt>$smwgQEqualitySupport</tt> отныне принимает следующие значения: <tt>SMW_EQ_NONE, SMW_EQ_SOME, SMW_EQ_FULL</tt> (до этого она могла быть равна <tt>true</tt> или <tt>false</tt>).
 * [1.0] Опция <tt>$smwgQDefaultNamespaces</tt> по умолчанию теперь имеет значение <tt>NULL</tt>, то есть все просртанства имен участвуют в поиске запросами. До этой версии значениями по умолчанию для этой опции были '<tt>array(NS_MAIN, NS_IMAGE)</tt>'.
 * [1.0] Опция <tt>$smwgQDefaultLinking</tt> отныне имеет значение по умолчанию '<tt>all</tt>', то есть все результаты запросов превращаются в ссылки. Больше это не является проблемой производительности. Напомним, что до этой версии значение это опции было равным '<tt>subject</tt>'.

Если вы использовали какие-либо из указанных параметров, вам нужно обновить их значения в файле <tt>LocalSetting.php</tt>. Смотрите файл <tt>SMW_Settings.php</tt> - в нем гораздо больше документации по всем доступным параметрам.