iroha Board v0.10.0 をリリースしました

Pocket

2019.4.15 iroha Board v0.10.0 をリリースしました。

今回のリリースではこれまでになく多くの機能が追加されております。また iroha Board をカスタマイズした場合も、パッケージがアップデートしやすくなるようパッケージ領域とカスタマイズ領域の分離を行いました。

ユーザのエクスポート機能

ユーザ一覧画面の「エクスポート」ボタンにてユーザ情報をCSV形式(文字コード : Shift-JIS)でダウンロード可能となりました。

ユーザのインポート機能

CSV形式でユーザ情報を一括で登録できるようになりました。またユーザの所属グループ、受講コースも合わせて登録可能です。

CSVファイルはエクスポートしたユーザ情報ファイルをそのまま利用でき、MS-Excelでも作成可能です。(UTF-8形式には対応しておりませんのでご注意ください。)

コンテンツのコピー機能

コンテンツ一覧画面で、コピーしたいコンテンツの「複製」ボタンをクリックするだけで、コンテンツのコピーが作成されます。

コンテンツの移動機能

コンテンツ編集画面で、所属コースを変更することで、他のコースへコンテンツを移動することが可能となりました。

ランダム出題機能

テストの「出題数」を指定することで、テストに登録された問題の中から、指定した数の問題がランダムに出題されます。例えば10問、問題を用意し、5問出題するといったテストが作成可能です。「出題数」が登録された問題数以下の場合、ランダムに並べ替えのみを行い、出題します。

複数選択問題

これまでテスト問題は単一選択式しかありませんでしたが、複数選択肢問題を作成、出題できるようになりました。

テスト問題作成画面で、選択肢を登録し、Ctrlキーを押下した状態で、複数の正解が設定できます。

出題時には以下のように問題が表示されます。

パッケージとカスタマイズ領域の分離

従来、一度、iroha Board のソースをカスタマイズすると、その後、パッケージをアップデートすることが大変困難でした。そのような問題を軽減する為、v0.10.0 から新しくカスタマイズ領域を追加しました。カスタマイズ領域に同名のソースファイルが存在する場合には、そのソースファイルが優先されます。iroha Board をカスタマイズしたい場合には、まずパッケージから Custom 領域へソースファイルをコピーし、その上でソースの修正を行ってください。例えばログイン画面をカスタマイズしたい場合は、View/User/login.ctp を Custom/View/User にコピーします。独自の共通スタイルシートを追加したい場合は、webroot/css/custom.css に記述します。データベースへカスタマイズ用のフィールドの追加などを行いたい場合には、Custom/Config/custom.sql にDDLを記述し、/update を実行してください。

但しカスタマイズしたソースとパッケージのソースの互換性を保証するものではございません。カスタマイズしたソースの修正部分は明確に分かるようにし、いつでもマージできるようにしておくことお勧めいたします。

パッケージのアップデート方法

カスタマイズ後、パッケージをアップデートしたい場合には、以下の手順で行ってください。

  1. iroha Board のソースをダウンロードします。
  2. ソースを解凍し、以下のファイル、フォルダを削除します。
    • Config/database.php
    • webroot/index.php (ディレクトリ構成を変更している場合)
    • webroot/css/custom.css
    • webroot/js/custom.js
    • Custom/
  3. 既存のサイトのソースを全てバックアップします。
  4. 既存のサイトに手順2のソースを上書きコピーします。
  5. http://(your-domain-name)/update にてテーブル定義を更新します。

但しパッケージのソースとカスタマイズしたソースの整合性が合わない場合がございます。

その場合は大変お手数ですが、パッケージのソースを再度 Custom 領域にコピーし、前回と同様の修正を行ってください。

パッケージとカスタマイズしたソースの差分は Diff ツールなどを使って視覚的に確認することが可能です。

例:WinMerge (Windows専用) https://winmergejp.bitbucket.io/

その他

  • 管理者向けにコンテンツの非公開ラベルを追加
  • インストーラに iroha Board で必須となる Apache / PHP のモジュールチェックを追加
  • 全体的なリファクタリング、コード整理
  • ユーザ一覧表示など管理画面のパフォーマンス改善
  • テスト終了時の black-holed error を回避

iroha Board v0.10.0 のダウンロード