前回のブログでは、zipファイルの問題でPPT2FlashのSCORMパッケージがMoodle2.0.1上で展開されませんでした。原因を調査してみましたが,原因はMoodle2.0側のzip解凍アーカイバだったという背景がありました.
まず,zipフォーマットの説明から話を進めていきます.
zipファイルフォーマットとは
まずzipファイルフォーマットとは、複数のファイルをまとめるためのファイルフォーマットで、必要に応じて圧縮アルゴリズムを選択し、圧縮を行います。拡張子は、.zipです。
圧縮は zip アーカイブのオプションであり、圧縮が行われる場合はファイル単位に圧縮されます。
圧縮アルゴリズムとしては、一般的にはDeflateというアルゴリズムがあり、最も一般的なアルゴリズムです。
似たような名前のフォーマットとして、7zipやbzipなどがあります。これらはzip形式ではなく、違った形式です。
これらは、単にzipという名前を使っているだけで、zip形式とは別物です。
圧縮アルゴリズムDeflateというアルゴリズムを使用した、gzip,zlibがありますがこれらはヘッダー・フッターが異なりやはりzip形式とは異なります。
zipフォーマットのバージョン
.ZIP ファイルフォーマット仕様にはバージョン番号があります.各バージョンの主な機能は以下の通りです.
- 2.0: ファイルエントリを Deflate で圧縮可能となった。
- 4.5: 64 ビット ZIP フォーマットが記載された。
- 5.0: DES, Triple DES, RC2, RC4 が暗号化のためにサポートした。
- 5.2: RC2-64 を暗号化のためにサポートした。
- 6.1: 承認されたストレージについて記載した。
- 6.2.0: セントラルディレクトリの暗号化について記載した。
- 6.3.0: Unicode (UTF-8) ファイル名のストレージについて記載した。サポートされるハッシュ、圧縮、暗号化アルゴリズムが追加された。
- 6.3.1: SHA-256/384/512 の標準的なハッシュ値に訂正した。
- 6.3.2: 圧縮メソッド 97 (WavPack) について記載した。
ソフトウェアでの使用例
ソフトウェアによっては、zip形式をデータ形式としている場合もあります。
例えばMicrosoft Office 2010のファイル形式,docx,pptx形式は、Office Open XMLを採用しています。実際のファイルの中身は、
document.xml テキストコンテンツ fontTable.xml フォント表 settings.xml 設定情報 styles.xml テキストのスタイル情報 webSettings.xml Web用のスタイル情報 media 画像などのメディアファイルを格納するフォルダ _rels 各パーツの関連性(リレーションシップ)を記述するファイルを格納するフォルダ
で出来ています。
他にも、ePubもzip形式を採用しています。
PPT2Flashで生成されたzipファイルがMoodle2.0で動作しなかった原因
今回,PPT2Flashで圧縮されたzipファイルがMoodle2.0上で正常に解凍できなかった原因は,「解凍側」にありました.Moodle2.0で使用しているzip解凍アーカイバに問題があり,正常に解凍されませんでした.Windowsエクスプローラで再圧縮しなおしたらうまく動作したのは,ここにあります.
先述した通り,zipフォーマットもバージョンアップを重ねており,解凍側(ここではMoodleで使用している)のアーカイバが対応していない場合もあります.
Moodle側のアーカイバがPPT2Flashのzipに対応していなかったため,Moodle上で動作しなかったというわけです.