Створення і розвиток власного вікісайту

Матеріал з Енциклопедія Носівщини

Створення і розвиток власного вікісайту, на прикладі Енциклопедії Носівщини, http://wikinosivka.info

Тези доповіді Юрія Пероганича на Конференції адміністраторів української Вікіпедії, 30 травня 2021.

Для чого?

Реалізація потреби:

  1. створити щось вартісне і довговічне, лишити слід в історії
  2. глибше пізнати певний предмет (у випадку ЕН — свою малу батьківщину — історію, географію, сьогодення…)
  3. вийти за обмеження Вікіпедії щодо:
    • а) критеріїв значущості,
    • б) стилю,
    • в) авторського права (частково, наприклад можливість усних дозволів)
    • г) самостійно встановлювати правила (не надто, а керуючись здоровим глуздом)
  4. у випадку ЕН — стати ближчим до колег земляків, включаючи краєзнавців, інтелігенцію, медіа, владу, бізнес…
  5. стати помітнішим (значущішим) у певному середовищі
  6. згуртувати спільноту однодумців
  7. впливати на розвиток подій (у випадку ЕН – вибори, оцінка дій влади…)
  8. творення контенту рідною мовою
  9. глибше пізнати MediaWiki, побачити її з боку адміністратора
  10. монетизація ?

Доменне ім'я і хостинг

Варіанти хостингу: а) безплатний публічний; б) власний.

Перевага безплатного: а) безплатність; б) відсутність потреби оновлення CMS; в)відсутність потреби в деяких технічних знаннях.

Недоліки безплатного хостингу:

  • а) обмеження у виборі імені домену;
  • б) плата в виді «чужої» реклами;
  • в) відсутність вибору постачальника. Де-факто лише Фандом (?)
  • г) відсутність можливості перенесення на інший хостинг (?)
  • ґ) відсутність можливості тонкого налаштування, обмеження вибору скінів;
  • д) відсутність можливості створення власних розширень (для програмістів);
  • е) відсутність можливості експериментування з шаблонами, CSS, модулями;
  • є) відсутність звичного інтерфейсу;
  • ж) відсутність гарантії збереження сайту;
  • з) відсутність гарантії техпідтримки, особливо оперативної,
  • и) необхідність звернень до техпідтримки англійською.

Приклад безплатного вікісайту: Енциклопедія громадянського суспільства в Україні, https://prostir.wikia.org

Установка

  1. Вибір і реєстрація зони і доменного імені. Зазвичай, доменні імена продають компанії, які надають хостинг. Ціна домену залежить від зони, ціна хостингу від розміру, швидкодії. Хостинг має забезпечувати підтримку баз даних MySQL і мови PHP
  2. Прив'язка доменного імені до хостингу. Імена NS (неймсерверів) задає компанія, яка забезпечує хостинг.
  3. Створення бази, користувача бази, прив'язування користувача до бази, задання паролю доступу до бази (за допомогою Control Panel хостингу)
  4. Завантаження на хостинг CMS MediaWiki з сайту https://www.mediawiki.org в каталог, який надає компанія хостингу. Зазвичай це public_html.
  5. Запуск інсталяції і конфігурування CMS MediaWiki. При інсталяції слід вказати ім'я бази, користувача, пароль.
    1. Належна версія PHP — MediaWiki 1.38 requires PHP 7.3.19 or higher (and not 7.4.0 - 7.4.2)
    2. Installing some PHP extensions is required. Required components. You are missing a required extension to PHP that MediaWiki requires to run. Please install: fileinfo (more information)
    3. При отриманні повідомлення Почати інсталяцію, чи конфігурувати далі, виберіть конфігурувати далі і позначте все що все те, що пропонується (розширення, скіни, захист від спаму…)
    4. Вся конфігураційна інформація при інсталяції автоматично формується і зберігається в текстовому файлі LocalSettings.php При потребі подальшого конфігурування слід вносити зміни в цей файл. До речі, останні версії MediaWiki мають у своєму складі візуальний редактор контенту. Раніше треба було інсталювати додатково.
    5. Кінцем інсталяції є повідомлення про те, що створений LocalSettings.php. Його треба завантажити в той самий каталог, де Index.php
  6. Подальше наповнення сайту і розвиток його функціональності можна проводити паралельно.
  7. Можливо варто відключити ModSecurity

Конфігурування

Зміна назви головної сторінки
MediaWiki:Mainpage
Прибирання заголовку з головної сторінки, адаптивний дизайн
MediaWiki:Common.css
Інструменти під вікном редагування
MediaWiki:Edittools
Реалізація Спеціальна:Створити_сторінку
Встановлення Extension:CreatePageUw https://www.mediawiki.org/wiki/Extension:CreatePageUw і конфігурування в LocalSettin.php
FavIcon
Файл favicon.png перейменувати в favicon.ico і розмістити в корінь
Лого
Завантажити файл і сконфігурувати LocalSettings.php
Доступ і показ файлів з Вікісховища
Google Analytics
Створений «Обліковий запис», проведено «Налаштувати потік даних» і отримано Global site tag (gtag.js). Завантажене і сконфігуроване через LocalSettings.php розширення https://www.mediawiki.org/wiki/Extension:HeadScript
Можливість завантаження файлів,
Включити в LocalSettings.php,
визначення розширень файлів, які можна завантажувати,
створення групи користувачів, які можуть завантажувати файли.

Що ще?

Фрагмент LocalSettings.php
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = true;

## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'vector', 'monobook':
$wgDefaultSkin = "timeless";

# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );

# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtension( 'ExtensionName' );
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'CategoryTree' );
wfLoadExtension( 'Cite' );
wfLoadExtension( 'CiteThisPage' );
wfLoadExtension( 'CodeEditor' );
wfLoadExtension( 'ConfirmEdit' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Interwiki' );
wfLoadExtension( 'LocalisationUpdate' );
wfLoadExtension( 'MultimediaViewer' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'OATHAuth' );
wfLoadExtension( 'PageImages' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'PdfHandler' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'Renameuser' );
wfLoadExtension( 'ReplaceText' );
wfLoadExtension( 'Scribunto' );
wfLoadExtension( 'SecureLinkFixer' );
wfLoadExtension( 'SpamBlacklist' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'TemplateData' );
wfLoadExtension( 'TextExtracts' );
wfLoadExtension( 'TitleBlacklist' );
wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'WikiEditor' );


# End of automatically generated settings.
# Add more configuration options below.

$wgMaxUploadSize = 3145728;

wfLoadExtension( 'CreatePageUw' );
$wgCreatePageUwUseVE = true;

wfLoadExtension( 'CharInsert' );
wfLoadExtension( 'YouTube' );
wfLoadExtension( 'CSS' );
wfLoadExtension( 'HeadScript' );

# Upload permissions
# To prevent normal users from uploading files:
$wgGroupPermissions['user']['upload'] = false;

# To create a special group called "uploadaccess", and allow members of that group to upload files:
$wgGroupPermissions['uploadaccess']['upload'] = true;

# Configuring file types
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc',
    'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx',
    'pptx', 'ps', 'odt', 'ods', 'odp', 'odg'
);

Наповнення контентом

  1. Система категоризації. Варіант кореневих категорій: Люди; Установи (інституції); Місця (локації); Речі (різне); Сфери; Час.
  2. Формування основної сторінки:
    • а) Динамічний контент (Вікно «Цей день в історії);
    • б) Адаптивний дизайн (4-3-2-1) колонки в залежності від розділової здатності екрана ПК, планшета, смартфона.
  3. Домовленості з власниками контенту
  4. Навігація з головної в 2-3 кліки.

Розвиток спільноти (аутріч)

  1. Виявлення і навчання потенційних редакторів

Підтримка

  1. Регулярний (бажано щоденний) моніторинг і модерування:
    • для доопрацювання внесених за день змін,
    • для виявлення і блокування вандалів
  2. Перегляд Гугл Аналітики (число користувачів, відвідувань, виявлення найпопулярніших сторінок)
  3. Періодичне дампування всього сайту

Розкрутка

  1. Додавання URL для Google, створення SiteMap.xml — карти сайту
  2. Формування групи в ФБ
  3. Обмін посиланням
  4. Публікації в ЗМІ
  5. Доповіді на конференціях :)

Ваші варіанти?

Монетизація

  1. Гранти
  2. Реклама
  3. Пожертви