Volunteer:Development

From Gospel Translations

(Difference between revisions)
Jump to:navigation, search
Line 1: Line 1:
 +
The scoop on what we use, and projects we need help tackling.
 +
 +
== Software ==
 +
Gospel Translations relies on a few basic pieces of software to run smoothly.
Gospel Translations relies on a few basic pieces of software to run smoothly.
Line 7: Line 11:
-
'''[http://www.dabbledb.com DabbleDB]''' is our online database provider, helping us keep information about all of our publishers, articles, volunteers, and translations organized in one central place. Better still, it has good API support, so we've been able to tie the data their directly into wiki articles--when you visit a page and see the blue box listing Author, Translator, and so forth, you are seeing MediaWiki and DabbleDB work together.
+
'''[http://www.dabbledb.com DabbleDB]''' is our online database provider, helping us keep information about all of our publishers, articles, volunteers, and translations organized in one central place. Better still, it has good API support, so we've been able to tie the data their directly into wiki articles--when you visit a page and see the blue box listing Author, Translator, and so forth ([[Gospel_Implications|see example]]), you are seeing MediaWiki and DabbleDB work together.
* [[Project:Technology/DabbleDB integration|How DabbleDB integrates with the GospelTranslations wiki]]
* [[Project:Technology/DabbleDB integration|How DabbleDB integrates with the GospelTranslations wiki]]
-
==Multi-wiki project==
+
==Project: Multiple wiki automation==
'''Goal:''' to have a separate wiki for every language we support
'''Goal:''' to have a separate wiki for every language we support
'''Requirements:'''  
'''Requirements:'''  
-
* Written in PHP
+
* Code base written in PHP
 +
* For each language ''X'', copy over every ''X'' article from this English wiki to a target wiki, http://''X''.gospeltranslations.org
 +
 
 +
'''Technical process'''
-
'''Components:'''
+
This is the basic process that could be used to accomplish the multi-wiki setup and updates. There are some underlying techniques not spelled out here, so feel free to ask questions if something isn't connecting for you.
-
* [COMPLETE] Our flat file '''[[Project:Technology/DabbleDB integration|content database]]''', which provides information about all the translations for any given language
+
# <font color="green">[working]</font> Cronjob imports up-to-date info DabbleDB database and stores it in local PHP array ([[Project:Technology/DabbleDB_export_structure|see structure]])
-
* [unassigned] '''[http://wikisum.com/w/User:Adam/Creating_MediaWiki_bots_in_PHP Automating bot]''' which will
+
# <font color="orange">[unassigned]</font> Automating bot ([http://wikisum.com/w/User:Adam/Creating_MediaWiki_bots_in_PHP how to make one])
-
** Search the database for all articles in the specified language
+
## reads local PHP array to find all entries for language ''X''
-
** Create a new page on the target wiki for each translation
+
## for each entry, gets translated title off of the English wiki (i.e., for [[Gospel_Implications/es]], it finds the title ''Consecuencias del evangelio'')
-
** Write to the page ''transclusion code'' (see below) and a fully localized "About this Resource" box (see Glossary below)
+
## for each entry, creates a page on the target wiki, i.e., http://fr.gospeltranslations.org/wiki/ENTRY_TRANSLATED_TITLE
-
* [COMPLETE] '''Transclusion code''' in this form--<code><nowiki>{{:gt_en:Name_of_corresponding_article_on_English_wiki}}</nowiki></code>--will make a live copy of the translation text and display it on the page where this code appears
+
## on each page created, writes in transclusion code: <code><nowiki>{{:gt_en:ENTRY_ENGLISH_NAME}}</nowiki></code>
 +
# <font color="green">[working]</font> Non-English wiki uses transclusion code to pull article text from English wiki. For example, the code <code><nowiki>{{:gt_en:Gospel_Implications/es}}</nowiki></code> will grab the entire article text from [[Gospel_Implications/es]]
 +
Obviously, what is missing from the functionality right now is a working automation bot.
[[Category:Tech admin]]
[[Category:Tech admin]]

Revision as of 21:06, 25 August 2008

The scoop on what we use, and projects we need help tackling.

Software

Gospel Translations relies on a few basic pieces of software to run smoothly.

MediaWiki is our wiki engine, and is the same software used by Wikipedia. It was chosen for it's proven scalability, excellent support for multiple languages, and it's easy extensibility. The fact that it has such excellent community support was also a big factor when we chose it. MediaWiki runs on PHP and MySQL.


DabbleDB is our online database provider, helping us keep information about all of our publishers, articles, volunteers, and translations organized in one central place. Better still, it has good API support, so we've been able to tie the data their directly into wiki articles--when you visit a page and see the blue box listing Author, Translator, and so forth (see example), you are seeing MediaWiki and DabbleDB work together.


Project: Multiple wiki automation

Goal: to have a separate wiki for every language we support

Requirements:

Technical process

This is the basic process that could be used to accomplish the multi-wiki setup and updates. 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. [unassigned] Automating bot (how to make one)
    1. reads local PHP array to find all entries for language X
    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}}
  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

Obviously, what is missing from the functionality right now is a working automation bot.

Navigation
Volunteer Tools
Other Wikis
Toolbox