Help:HowToMake Metabolomics.jp Clone
From Metabolomics.JP
(Difference between revisions)
Line 29: | Line 29: | ||
# [http://www.mediawiki.org/wiki/Extension:Variables Variables] | # [http://www.mediawiki.org/wiki/Extension:Variables Variables] | ||
# [http://www.mediawiki.org/wiki/Extension:ImageMap ImageMap] | # [http://www.mediawiki.org/wiki/Extension:ImageMap ImageMap] | ||
+ | |||
+ | ===Variablesについて=== | ||
+ | Variables extensionは必ずしも必要ではありません。<br /> | ||
+ | metabolomics.jpでは、以下のように「APPLETROOT」というDocumentRootからアプレットを置いたディレクトリへのパスを定義していますが、 | ||
+ | アプレットを一つのディレクトリにまとめておき、ディレクトリを移動する可能性がある場合に有効です。 | ||
+ | |||
+ | なお、イタリック体の部分は、環境に合わせて変更して下さい。 | ||
+ | |||
+ | <?php | ||
+ | |||
+ | $wgCustomVariables = array( | ||
+ | 'APPLETROOT', | ||
+ | ); | ||
+ | |||
+ | $wgHooks['MagicWordMagicWords'][] = 'wfAddCustomVariable'; | ||
+ | $wgHooks['MagicWordwgVariableIDs'][] = 'wfAddCustomVariableID'; | ||
+ | $wgHooks['LanguageGetMagic'][] = 'wfAddCustomVariableLang'; | ||
+ | $wgHooks['ParserGetVariableValueSwitch'][] = 'wfGetCustomVariable'; | ||
+ | |||
+ | function wfAddCustomVariable(&$magicWords) | ||
+ | { | ||
+ | foreach( $GLOBALS['wgCustomVariables'] as $var ) $magicWords[] = "MAG_$var"; | ||
+ | return true; | ||
+ | } | ||
+ | |||
+ | function wfAddCustomVariableID(&$variables) | ||
+ | { | ||
+ | foreach( $GLOBALS['wgCustomVariables'] as $var ) $variables[] = constant("MAG_$var"); | ||
+ | return true; | ||
+ | } | ||
+ | |||
+ | function wfAddCustomVariableLang(&$langMagic, $langCode = 0) | ||
+ | { | ||
+ | foreach( $GLOBALS['wgCustomVariables'] as $var ) { | ||
+ | $magic = "MAG_$var"; | ||
+ | $langMagic[defined($magic) ? constant($magic) : $magic] = array(0,$var); | ||
+ | } | ||
+ | return true; | ||
+ | } | ||
+ | |||
+ | function wfGetCustomVariable( &$parser, &$cache, &$index, &$ret ) | ||
+ | { | ||
+ | global $egAppletRoot; | ||
+ | |||
+ | switch ( $index ) { | ||
+ | case MAG_APPLETROOT: | ||
+ | $ret = <i>PATH_TO_APPLETROOT</i>; | ||
+ | break; | ||
+ | } | ||
+ | |||
+ | return true; | ||
+ | } | ||
==独自extension== | ==独自extension== |
Revision as of 13:37, 16 February 2011
※制作中のページです※
このページでは、metabolomics.jpのクローンを作成するための手順を説明します。
Contents |
基本セッティング
以下のガイドを参考にmediawikiのインストールを行って下さい。
http://www.mediawiki.org/wiki/Manual:Installation_guide/ja(日本語)
http://www.mediawiki.org/wiki/Manual:Installation_guide(English)
注意点
- phpのコンパイルには以下のconfigureオプションを追加して下さい。
--enable-mbstring --enable-mbregex --enable-zend-multibyte --enable-soap
extensionのインストール
既存extension
metabolomics.jpでは以下の5つの既存extensionを利用しています。 各extensionのインストールについては、リンク先ページをご参照下さい。
Variablesについて
Variables extensionは必ずしも必要ではありません。
metabolomics.jpでは、以下のように「APPLETROOT」というDocumentRootからアプレットを置いたディレクトリへのパスを定義していますが、
アプレットを一つのディレクトリにまとめておき、ディレクトリを移動する可能性がある場合に有効です。
なお、イタリック体の部分は、環境に合わせて変更して下さい。
<?php $wgCustomVariables = array( 'APPLETROOT', ); $wgHooks['MagicWordMagicWords'][] = 'wfAddCustomVariable'; $wgHooks['MagicWordwgVariableIDs'][] = 'wfAddCustomVariableID'; $wgHooks['LanguageGetMagic'][] = 'wfAddCustomVariableLang'; $wgHooks['ParserGetVariableValueSwitch'][] = 'wfGetCustomVariable'; function wfAddCustomVariable(&$magicWords) { foreach( $GLOBALS['wgCustomVariables'] as $var ) $magicWords[] = "MAG_$var"; return true; } function wfAddCustomVariableID(&$variables) { foreach( $GLOBALS['wgCustomVariables'] as $var ) $variables[] = constant("MAG_$var"); return true; } function wfAddCustomVariableLang(&$langMagic, $langCode = 0) { foreach( $GLOBALS['wgCustomVariables'] as $var ) { $magic = "MAG_$var"; $langMagic[defined($magic) ? constant($magic) : $magic] = array(0,$var); } return true; } function wfGetCustomVariable( &$parser, &$cache, &$index, &$ret ) { global $egAppletRoot; switch ( $index ) { case MAG_APPLETROOT: $ret = PATH_TO_APPLETROOT; break; } return true; }
独自extension
以下のtgzファイルは、metabolomics.jpで開発し、現在利用しているextensionの全ソースです。 2011/02/XX現在での最新版をまとめてあります。
- metabolomics.jp_extensions.tgz (2011/02/XX)
なお、このtgzに含まれているextensionは以下の通りです。
- Wbr
- HTMLForm
- MySQLLikeSearch
- ScriptFunctions
- CreateGraph
- Volatile
- Persistency
- ExMolFunctions
- HookInsert
- RemoteSearch
- YankRemoteImage
- JDXFunctions
- MassFunctions
- GetEnvironment
- MassBankAPI
- RowJSPage
- JavaApplet
Css, Jsファイルのコピー
以下のMediawiki名前空間に存在するページをコピーして下さい。