Omeka SのIIIF Serverモジュールで、PLYファイルがIIIFマニフェストのitemsに出力されない問題の調査
概要 Omeka SのIIIF Serverモジュールで、PLYファイルがIIIFマニフェストのitemsとして出力されないが、GLBファイルは正常に出力される問題を調査しました。 前提条件:Omeka Sの設定 デフォルトでは、PLYファイルはOmeka Sにアップロードできません。以下の設定が必要です。 PLYファイルアップロード時のエラー デフォルト設定では、PLYファイルのメディアタイプ(application/octet-stream)と拡張子(.ply)が許可されていないため、アップロードエラーが発生します。 設定の追加 管理画面の「設定」→「セキュリティ」で以下を追加してください: 許可されるメディアタイプ : application/octet-stream を追加 許可されるファイル拡張子 : ply を追加 原因 PLYファイルの処理コードがモジュールに実装されていませんでした。 GLBファイルには明示的な拡張子チェックと型変換のコードが存在しますが、PLYファイルには同様のコードが存在しませんでした。 技術的詳細 GLBファイルの処理(修正前から存在) TraitMedia.php (format()メソッド) i } f ( $ $ i } m e f e x d t ( i e $ r a n e e T s x t y i t u p o e r e n n n s = = i ' = o m = s n o t d ' r = e a t = l p o = / p l g l o ' l i w g t c e l f a r b - t ( ' b i p ) i o a n n t { a / h r o i y c n ' t f ; e o t ( - ( s s t t r r e i a n m g ' ) ) $ { t h i s - > r e s o u r c e - > s o u r c e ( ) , P A T H I N F O _ E X T E N S I O N ) ) ; IiifTypeOfMedia.php i } f ( $ $ i } m e f e x d t ( i e $ r a n e e T s x t y i t u p o e r e n n n s = = i $ = o m = s n e t d ' r = i a t = a p o = I p l i l o ' i i w g f c e l T a r b y t ( ' p i p ) e o a s n t { [ / h $ o i m c n e t f d e o i t ( a - ( I s s d t t ] r r e i = a n m g ' ' ) M ) o $ d { m e e l d ' i ; a - > s o u r c e ( ) , P A T H I N F O _ E X T E N S I O N ) ) ; IIIFマニフェストのitems生成フロー メディアタイプの判定 (TraitMediaInfo.php) ...