Skip to content
Shoji Kajita edited this page Nov 13, 2020 · 20 revisions

Welcome to the openpanda wiki!

PandA ノウハウ

翻訳

翻訳は .properties ファイルを変更することで行うことができます. 翻訳元のファイルが *.properties のとき,その日本語への翻訳ファイルは *_ja.properties です. *_ja.properties ファイルではユニコードエスケープで表された翻訳文が記述されています. これを実際の日本語に変換するために例えば native2ascii コマンドを使うことができます. 以下の例では変換結果が標準出力に出力されます.

$ native2ascii -reverse [翻訳リソース]_ja.properties

逆に日本語(utf-8 文字列)をユニコードエスケープに変換するためには

$ native2ascii
翻訳したい文字列を入力
\u7ffb\u8a33\u3057\u305f\u3044\u6587\u5b57\u5217\u3092\u5165\u529b
[Ctrl] + D

とします.

追記
ユニコードエスケープを日本語に変換

$ native2ascii -reverse
[ユニコードエスケープ]

とします.

Sakai の翻訳は Transifex で行われています. Transifex を用いた翻訳ファイルの適用は こちら をご覧ください.

ビルドオプション

  • -o オプションを付加するとオフラインでビルドが行われます.
  • -Dmaven.test.skip=true オプションはテストをスキップしビルド時間が多少短くなります.
  • コンパイルに失敗する場合 Dsakai.cleanup=true を付加するとうまくいくことがあります.
  • -Dsakai.skin.target=PandA-skin-12 オプションはカスタムスキンを使用する場合に必要です.PandA-skin-12 は作成したスキン名で置き換えてください.
  • -Dsakai.skin.customization.file=./src/PandA-skin-12/sass/_customization.scss オプションもカスタムスキンを使用する場合に使用することがあります.これは別の _customization.scss を使う場合に使用します.

以上のオプションは例えば以下のように指定します.

mvn -o clean install sakai:deploy -DskipTests=true -Dmaven.tomcat.home=$CATALINA_HOME -Dsakai.home=$CATALINA_HOME/sakai -Dsakai.skin.target=PandA-skin-12

カスタムスキンの作成

Sakai 12 ではデフォルトスキン(Morpheus)のディレクトリは sakai/library/src/morpheus-master です. 例えば PandA-skin という名前のカスタムスキンを作成したい場合, morpheus-masterPandA-skin という名前でコピーします.

$ cd sakai/library/src
$ cp -r ./morpheus-master ./PandA-skin

PandA-skin/sass/_default.scss を編集することで大まかなスキンの変更ができます. 微調整をしたい場合は PandA-skin/sass/ の下にあるファイル/ディレクトリから変更したい部分に対応する箇所を探し修正してください.

どの部分を変更すればいいかについてはブラウザの開発機能を活用するのが簡単です. 例えば Google Chrome を使っているなら, 調べたい要素の上にマウスを持っていき右クリックし, 「検証」を押すことでその要素の詳細を見ることができます. このときのスタイルを定めている名前でスキンのファイルを検索し変更することで, その要素の色や形状を変更することができます.

困ったときのチェックリスト

  • ビルドに失敗する
    • ビルド前に行った変更にバグがないか
    • ビルドのオプションは適切か
    • オンラインモードでビルドするときはインターネットに接続されているか
    • KUINS-air 以外で試してみる
    • java のバージョンは合っているか
    • エラーが起きたディレクトリに行き単体でビルドしてみる
  • Tomcat の起動に失敗する
  • 起動するがエラーページが出る
    • sakai の設定ファイル sakai.properties は適切か
    • データベースを作り直してみる
  • 仮想環境でやっている場合はそもそも仮想環境が立ち上がっているかどうか

コースサイトを作れるようにする

-Dsakai.demo=true を JAVA_OPTS に付け加えるとコースサイトを作れるようになる. LDAP を見られなくなることに注意してください.

リモートデバッグ

$ export JPDA_ADDRESS=8001
$ export JPDA_TRANSPORT=dt_socket

を実行し tomcat を次のコマンドで実行します:

$ ./catalina.sh jpda start

次のページなども参照してください:IntelliJ IDEAを使ってリモートデバッグ

.bash_profile の例

筆者の環境の場合,以下を .bash_profile に書いています. パスなどは環境に合わせて変更してください.

# tomcat
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
# use java 1.8                                                                                                                                                                                   
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin/
export MAVEN_OPTS="-Xms512m -Xmx1024m -Xmx1028m -XX:MaxMetaspaceSize=512m -Djava.util.Arrays.useLegacyMergeSort=true"
export JAVA_OPTS="-server -Xms512m -Xmx2048m -XX:MaxMetaspaceSize=512m -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Djava.awt.headless=true -Dcom.sun.management.jmxremote"
# maven                                                                                                                                                                                          
export MAVEN_HOME=/opt/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_OPTS='-Xms512m -Xmx1024m -XX:PermSize=256m' # -XX:MaxPermSize=512m -Djava.util.Arrays.useLegacyMergeSort=true                                                                       
#mysql                                                                                                                                                                                           
export MYSQL_HOME=/usr/local/mysql-5.7.12-osx10.11-x86_64
export PATH=$PATH:$MYSQL_HOME/bin
# for sakai remote debuging                                                                                                                                                                      
export JPDA_ADDRESS=8001
export JPDA_TRANSPORT=dt_socket