Gospel Translations:Technology/Multi-wiki project

From Gospel Translations

Jump to:navigation, search

Read on to learn more. Use the discussion tab to make comments, post solutions, etc.

Contents

Description

Goal

To have a separate wiki for every language we support, with fully automated content loading and updating. For an example of a final product, see the test Spanish wiki.

Requirements


Technical process

Currently working

There are some underlying techniques not spelled out here, so feel free to ask questions if something isn't connecting for you.

  1. [working] Cronjob imports up-to-date info DabbleDB database and stores it in local PHP array (see structure)
  2. [quirky, but working] Automating bot (how to make one)
    1. reads wiki page for CSV-style data, which tells what pages to create
    2. for each entry, gets translated title off of the English wiki (i.e., for Gospel_Implications/es, it finds the title Consecuencias del evangelio)
    3. for each entry, creates a page on the target wiki, i.e., http://fr.gospeltranslations.org/wiki/ENTRY_TRANSLATED_TITLE
    4. on each page created, writes in transclusion code: {{:gt_en:ENTRY_ENGLISH_NAME}}
    5. bot code: trans_bot.php
      bot framework: basic_bot.php
  3. [working] Non-English wiki uses transclusion code to pull article text from English wiki. For example, the code {{:gt_en:Gospel_Implications/es}} will grab the entire article text from Gospel_Implications/es
Still needed
  1. [unassigned] Multiple wiki support. Right now this wiki relies on the account settings in basic_bot.php, which are wiki specific. The code should be upgraded so that the user can run the script once and it will update multiple wikis.
  2. [unassigned] Data gathering. Currently the user has to first populate a wiki page with CSV-style data (see test wiki page for a messy example) telling the bot where to go and what to do. The bot should be able to automatically gather this information for each language from the English wiki.
  3. [unassigned] Page moving. The script should check a wiki for outdated pages (perhaps using the "last edited" date) and delete them. This will be necessary if the title of an article is re-translated, in which case the page for that article will need to move to its new title.
  4. [unassigned] Category management. Once a wiki is populated with articles, the categories on that wiki will need to be updated. The current script does not support that.
Navigation
Volunteer Tools
Other Wikis
Toolbox