Gospel Translations:Technology/Multi-wiki project
From Gospel Translations
(Difference between revisions)
				
																
				
				
								
				| Line 15: | Line 15: | ||
This is one 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.  | This is one 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.  | ||
# <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]])  | # <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]])  | ||
| - | # <font color="orange">[  | + | # <font color="orange">[quirky]</font> Automating bot ([http://wikisum.com/w/User:Adam/Creating_MediaWiki_bots_in_PHP how to make one])  | 
## reads local PHP array to find all entries for language ''X''  | ## reads local PHP array to find all entries for language ''X''  | ||
## for each entry, gets translated title off of the English wiki (i.e., for [[Gospel_Implications/es]], it finds the title ''Consecuencias del evangelio'')  | ## for each entry, gets translated title off of the English wiki (i.e., for [[Gospel_Implications/es]], it finds the title ''Consecuencias del evangelio'')  | ||
## for each entry, creates a page on the target wiki, i.e., http://fr.gospeltranslations.org/wiki/ENTRY_TRANSLATED_TITLE  | ## for each entry, creates a page on the target wiki, i.e., http://fr.gospeltranslations.org/wiki/ENTRY_TRANSLATED_TITLE  | ||
## on each page created, writes in transclusion code: <code><nowiki>{{:gt_en:ENTRY_ENGLISH_NAME}}</nowiki></code>  | ## on each page created, writes in transclusion code: <code><nowiki>{{:gt_en:ENTRY_ENGLISH_NAME}}</nowiki></code>  | ||
| + | ## bot code: [[GospelTranslations:Technology/Multi-wiki_project/trans_bot.php|trans_bot.php]]<br> bot framework: [[GospelTranslations:Technology/Multi-wiki_project/basic_bot.php|basic_bot.php]]  | ||
# <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]]  | # <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]]  | ||
Revision as of 21:17, 2 September 2008
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
Requirements
- 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
Idea #1
This is one 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.
- [working] Cronjob imports up-to-date info DabbleDB database and stores it in local PHP array (see structure)
 -  [quirky] Automating bot (how to make one)
- reads local PHP array to find all entries for language X
 - for each entry, gets translated title off of the English wiki (i.e., for Gospel_Implications/es, it finds the title Consecuencias del evangelio)
 - for each entry, creates a page on the target wiki, i.e., http://fr.gospeltranslations.org/wiki/ENTRY_TRANSLATED_TITLE
 -  on each page created, writes in transclusion code: 
{{:gt_en:ENTRY_ENGLISH_NAME}} -  bot code: trans_bot.php
bot framework: basic_bot.php 
 -  [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.