Вставка статей прямо в базу данных MediaWiki

Если вы запускаете nodejs на сервере Linux, я думаю, что это лучший способ.

Создать сценарий службы и скопировать в /etc/init/nodejs.conf

Запустить службу: запуск узла sudo service

Остановить службу: остановка узла sudo service

Служебный скрипт

description "DManager node.js server - Last Update: 2012-08-06"
author      "Pedro Muniz - pedro.muniz@geeklab.com.br"

env USER="nodejs" #you have to create this user 
env APPNAME="nodejs" #you can change the service name
env WORKDIR="/home/<project-home-dir>" #set your project home folder here
env COMMAND="/usr/bin/node <server name>" #app.js ?

# used to be: start on startup
# until we found some mounts weren't ready yet while booting:
start on started mountall
stop on shutdown

# Automatically Respawn:
respawn
respawn limit 99 5

pre-start script
    sudo -u $USER echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/$APPNAME.log
end script

script
    # Not sure why $HOME is needed, but we found that it is:
    export HOME="<project-home-dir>"  #set your project home folder here
    export NODE_PATH="<project node_path>"

    #log file, grant permission to nodejs user
    exec start-stop-daemon --start --make-pidfile --pidfile /var/run/$APPNAME.pid --chuid $USER --chdir $WORKDIR --exec $COMMAND >> /var/log/$APPNAME.log 2>&1
end script

post-start script
   # Optionally put a script here that will notifiy you node has (re)started
   # /root/bin/hoptoad.sh "node.js has started!"
end script

pre-stop script
    sudo -u $USER echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/log/$APPNAME.log
end script
9
задан 7 July 2009 в 20:56
поделиться

5 ответов

Из многих ботов и API, доступных для MediaWiki, простое место для начала является создателем массовой страницы MediaWiki .

Это простой PHP-скрипт, основанный на библиотеке классов Snoopy, который может создавать несколько страниц из простого текстового формата.

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

который может создать несколько страниц из простого текстового формата.

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

который может создать несколько страниц из простого текстового формата.

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

4
ответ дан 4 December 2019 в 13:49
поделиться

Экспорт страниц с помощью Специальный: Экспорт

Импорт страниц с использованием Специальный: Импорт . Обратите внимание, что у вас должно быть право пользователя «import» , чтобы иметь возможность импортировать.

1
ответ дан 4 December 2019 в 13:49
поделиться

Зачем вам это нужно?

  • Если вы пытаетесь перенести данные из предыдущей установки вики, инструменты импорта и экспорта уже существуют.
  • Если вы хотите автоматизировать Благодаря автоматическому добавлению большого набора предварительно отформатированных страниц MediaWiki API обеспечивает более безопасный маршрут, чем прямое копирование с базой данных.
1
ответ дан 4 December 2019 в 13:49
поделиться

Определенно, вы не хотите писать в базу данных напрямую. Вы можете захотеть создать расширение, которое принимает выбранные элементы из RSS в качестве входных и создает по одной вики-статье для каждого элемента, используя Article :: doEdit () .

2
ответ дан 4 December 2019 в 13:49
поделиться

Это нужно делать с помощью бота. Ботов можно запускать автономно, но если вы интегрируетесь с другим кодом, вы можете выбирать в зависимости от языка. Для PHP существует MediaWiki Bulk Page Creator . Для Python pymediawiki поставляется с Pagefromfile .

Существует также расширение от Ярона Корена под названием External Data , которое решает связанную задачу. Это позволяет вам включать данные из внешних источников на ваши вики-страницы. Вы можете извлекать определенные элементы из CSV, XML или JSON - из URL-адресов, локальных файлов или базы данных.

2
ответ дан 4 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: