2007/8/5

OLPC Library 包裝方式說明

這是要給活動參加者的說明,放在這裡供大家參考。文件節錄自 Creating a content bundle


OLPC 中除了作業系統與應用程式(稱為 Activities)之外,另外有稱之為 OLPC Library 的資料匯集處。要建立 OLPC Library 的資料內容非常簡單,你可以自己打包(後稱打包成品為「bundle」)方便他人使用。這份文件裡只說明「把資料包起來,以便瀏覽」的方式,如果你的資料需以 Browse 之外的 Activity 瀏覽,Browse 裡必須註冊相對應的 MIME-type。包好的資料會解開至 /home/olpc/Library 中。

兩點技術上的注意事項:

  1. 不要太大:bundle 的大小為 5-20MB,超過的話就必須要做兩個 -- 一個是每台 OLPC 上安裝的 bundle,另一個大小不限、放在伺服器上動態取用。
  2. 語言:OLPC 上目前預設無法顯示及輸入中文,雖然這可以解決,但打包前至少要知道別人可能看不到你的中文文章。
  3. 格式:目前已知可以支援的格式如下,建議你先確實丟進 XO 裡、確定可以開才包進去。(如果你跟我一樣手上都沒有真的 OLPC,可以裝模擬器
    • 文件:.txt、.doc、.abw、.pdf、.html、.js
    • 資料:.xml、.rss
    • 圖片:.jpeg、.gif、.png、.svg
    • 音樂:.csound,其他如 .ogg、.mp3、.wav、.rm、.ra 格式的音樂檔,如果有「Watch and Listen」這個 Activity(也就是 Helix)就可能可以播
    • 影片:一樣要有「Watch and Listen」,可播 .ogg、.mpeg、.mov、.wmv、.rm
    • 其他:Python 原始碼可以由「Develop」打開、.pr 可以由「Etoys」打開 -- 也就是說,有裝才開得了。

我們要包的 bundle 副檔名為 .xol,其內容實際上是按特定目錄結構壓縮資料的 .zip 檔。其中你自己的資料其實可以隨意放置,根目錄放個 index.html 連到各個內容檔就行。這個 index.html 會如實顯現在小朋友面前,所以你可以用 CSS、JavaScript 等各種方式修改版面。如果懶得放這個 index.html 的話、請參考下個步驟的 library.xml。

資料部份的放置方法不是重點,重點是根目錄下要有個 library 目錄、裡頭有下列檔案:

  • library.info:描述這個 bundle 各項資訊的檔案,請參考其範例及說明
  • library-boundleName.jpg (optional):把 bundle 的名稱(也就是 .xol 的主檔名)前面加上「library-」就對了。
  • library.xml (optional):資料內容索引。如果壓縮檔根目錄不放 index.html 當資料索引的話,就一定要放這個檔案。請參考範例及說明
  • library.css (optional):給資料內容索引用的 CSS 檔。如果壓縮檔根目錄不放 index.html 當資料索引、卻又想要有自訂外觀的話,就可以放這個檔案。請參考範例及說明

基本說明到此結束,接下來是包裝步驟建議:

  1. 檢查一下你的資料中,最上層沒有叫做 library 的目錄。
  2. 開個新目錄,照你想要的 bundle 名稱命名(應該不能用中文名稱)。以下我們一律以「dictionary」當範例。
  3. 將要打包的資料丟進 dictionary 目錄中。
  4. 在 dictionary 目錄中建立 library 子目錄。
  5. 在 library 目錄中建立純文字檔 library.info,內容參考範例編寫。
  6. 如果希望這個 bundle 有專屬圖示,可依之前說明的命名規則將圖示檔(.svg、.jpg、.gif、.png 都行)主檔名修改後丟入 library 目錄中。以本例來說,應命名為 library-dictionary.jpg。
  7. 決定資料索引顯示方式,二選一:
    • 要以 OLPC 預設方式(可調整部份樣式)顯示資料索引嗎?在 library 目錄中建立純文字檔 library.xml,依循範例、將每份要秀給小朋友看的資料加進去。如果想修改樣式,可在 library 目錄中放入 library.css 檔。
    • 想自訂顯示方式?在 dictionary 目錄中放入 index.html,只要這個 HTML 檔能連到你的資料、外觀愛怎麼變都行。
  8. 將 dictionary 下的所有內容壓縮為 dictionary.zip
  9. 將副檔名「.zip」改為「.xol」(依據本例也就是 dictionary.xol)
這樣就完成啦!

3 則留言:

  1. 第一次聽說OLPC不能用中文,實際上大概是CJK全滅?不過想想也對啦,目標市場又不包含東亞這幾國,CJK支援用不到的話還是砍了省事。

    回覆刪除
  2. alica,

    其實他們的網站不少都有韓文翻譯耶,所以不曉得是否有韓國團隊。另外,其實只是缺字型而已,裝上就行了。

    回覆刪除
  3. 最大的問題也就是字型不是嘛……CJK字型一個動輒二三十MB,跟幾百KB就可以搞定的英文字型相較之下實在差太多了;那機器不是才1GB flash而已,能省則省啊。而且CJK自由字型的選擇可說很有限,對於強調軟體部分要通通free的OLPC計劃來說,可能也是一項麻煩吧。

    另外,MozTW論壇的訪客發言又爛啦。 XDrz

    回覆刪除

歡迎留下您的意見