:::

談DSpace-DLLL系統

image

政大圖檔所於2011年5越27日舉辦了「數位檔案加值與教學應用研討會」。早上的場次中,我的指導老師陳志銘教授(真‧教授囉!)參與主講「DSpace-DLLL開放源碼數位典藏系統建置與應用」,講述我們實驗室DSpace改良開發成DSpace-DLLL,並應用於臺灣百年圖書館史數位圖書館全國通識網課程資料庫的內容。

以下是演講時的投影片:(SkyDrive下載)



關於DSpace-DLLL

如果常常閱讀這個Blog的人,一定知道這個「DSpace-DLLL」就是我在寫書中做出來的系統。這個演講底下的意義是為了書的出版鋪路,老師也很有良心,不把研討會當廣告臺,所以演講中並沒有提到書的事情,而是私下詢問時才會透漏給有興趣的人知道。


由於之前我在準備博士班的考試,老師並沒有特別告知我要進行這篇的演講,而是在我博士班筆試都考完之後才請我做投影片,所以我是最近才知道這篇文章的內文在講些什麼。儘管作為一個熟悉者,可以看得出學弟妹整理的文章中有很多破綻,不過將自己做的作品分享出去這件事情,還是挺令人驕傲的。而且這篇文章的發表也能幫學弟妹抵免資格考,這對學生來說才是數位典藏系統的「加值應用」啊。

關於DSpace-DLLL的細節,我在書本中已經有詳細地說明。目前書本正在二校中,博士班筆試結束之後,我也比較能夠專心投入這塊。希望能儘快出版呢。


回應項潔館長的問題

在議程結束前的發問期間,項潔館長質疑我們做DSpace-DLLL是否有其必要性,應該是多跟臺大圖書館合作,這樣才是真正的「不必自行重複開發」。王梅玲老師認為小型團體仍有建置獨立數位典藏系統的需求,但項館長則反駁說,那應該是去購買雲端服務即可。而會議議程時間不夠,實際上的主講者陳老師卻沒有參與這個討論,就結束了這段議程。

說實話,我不是很清楚跟臺大合作的方式是如何。感覺上應該是類似企業外包委託案那種方式進行吧?如果真的要做大的話,臺大圖書館也的確可以用雲端運作模式來提供合作服務也說不定。

DSpace-DLLL的「不必重複建置數位典藏系統」,是真的只是在講這個技術平台。在數位典藏計畫裡面,技術平台只是一個環節,無法取代委託整個數位典藏計畫的作法。不過即使如此,對於很多人來說還是很有意義。舉例來說,教師在教數位典藏課程時,就能夠讓學生真的有一個系統平台可以去架設、管理、自行建置,讓他們真的體驗到「如何規劃、建置一個數位典藏計畫」的經驗。這種價值在政大圖檔所中也時常體現,我也從老師們教學使用上的回饋來修正DSpace-DLLL的缺點。另一方面,DSpace-DLLL可以成為想要獨自架設數位典藏系統的單位有一個比原始DSpace更好上手的起點。

尤其是後者,對我來說有著更深遠的含義。DSpace-DLLL是以開放原始碼的模式分享技術,我們站在DSpace這個巨人的肩膀上,往理想的方向踏出了一步,然後再成為其他人的基石,幫助他人更進一步。就像DSpace仍有許多缺點,而我們改善之後以DSpace-DLLL釋出一樣,未來也希望會有人再改進DSpace-DLLL,而釋出更好的開放原始碼數位典藏系統。

以一個系統開發者的角度來說,讓技術在開放原始碼的環境下自由地成長,這是很有意義的貢獻。


未來的方向

作為DSpace-DLLL的開發者,先不論老師在接手之後怎麼繼續改進,我必須補充一下老師在影片中尚未提及的幾個注意事項。

大前提是,這不是企業化、大團隊製作的成品,因此請勿期待不太會成為完美的方案,只能成為備選方案之一。

虛擬機器的限制
image

DSpace-DLLL封裝在虛擬機器VirtualBox進行安裝。我寫了一個Windows XP的安裝精靈,方便Windowx XP使用者來架設。而VirtualBox是跨平台的虛擬機器,因此熟悉的使用者也可以拿著硬碟檔架設在Linux平台上。

使用虛擬機器封裝的理由很單純:安裝簡易。DSpace的原始安裝方式是以Java Servlet來進行配置,但是技術難度高,而太多外部依賴元件需要額外下載。在DSpace-DLLL中加入的多媒體轉檔功能,也需要依賴非DSpace原始檔中的OpenOfficeFFmpegMEncoder套件。為了避免大家光是安裝就弄昏了頭,所以我把它通通打包在虛擬機器中,方便轉移與應用。這種概念可是雲端模式的基礎呢。

虛擬機器的意思是在電腦上再模擬一個電腦,對於效能不佳的電腦來說,虛擬機器的負荷很大,因此穩定度跟服務負荷量有待評估。

理論上,若將DSpace-DLLL裡面的系統移植到實體電腦上,應該是會有比較好的運作效能。不過各元件是否能夠順利搭配這點我就不敢保證,Linux最為人詬病的就是套件相依性太高,要完美地安裝一個系統,我一直都沒有確切的把握。

大量資料的處理

繼承前一點,虛擬機器的DSpace-DLLL在大量資料的存取下是否能夠正常運作,這是需要評估的。除此之外,在系統功能上也還有許多需要改進的地方。

對於數位典藏工作人員來說,最需要的就是批次匯入機制。DSpace有提供後台的匯入,但是批次檔的撰寫對一般人來說並不友善。同樣的,對於大量資料的修改、調整,DSpace也沒有批次修改的功能。因此在大量資料的管理上,還有很多的不便。

這是DSpace尚未達到的境界,而DSpace-DLLL也繼承下來,一樣有這種問題。

但是這並不是做不到:DSpace的批次匯入其實真的很好用,只是不太友善。有心要修改的人,應該是能夠輕易地將他實作成前臺網頁可以直接執行的功能吧。

權限控管與付費機制

這是非常重要的一個未解決問題,如果你的計畫想要以DSpace-DLLL作為起點,那麼權限是不得不考量的一個議題。

DSpace提供以帳號來控管權限功能,可以控制內容層級每一層的新增、遞交、編輯、刪除權限,控管上非常詳盡。但是就跟大量資料管理缺乏批次處理功能一樣,大量的權限設定也就變成一個難題。另一個問題,就是權限控管的需求不只有帳號這一種方式,常見的還有IP、國家等限制,而DSpace還沒考量到這點。

DSpace已經有良好的權限控管基礎,但仍需要有人進一步地改良,這也是DSpace-DLLL未解決的問題。

至於付費機制上,原本是為公開取用的DSpace就離這個功能更是八竿子打不著的關係,請營利公司自行加油吧。

分類與介面
image

作為一個泛用型典藏系統,DSpace的預設範本很樸實。我在DSpace-DLLL中修改了一些小細節,但是並沒有去調整他的設計,因此介面依然是很單調。

今天研討會時王老師提問說能不能更簡單地調整網頁的樣式,並且建立漂亮的分類架構。這也是她長久以來的一個疑惑。

用簡單的方式來修改網頁介面,例如拖曳、新增網頁元素、套用簡易範本,這在大多數CMS當中都已經是非常成熟的技術,不過DSpace在介面調整支援上,還不能簡單地使用。提示是XMLUI,但至今我仍未參透這個功能就是。

至於分類架構上,這可是一塊非常、非常、非常大的研究議題了。原本作為機構典藏之用的DSpace,將內容層級架構分成community、collection、item等層級,許多國外數位典藏系統也都是依照此架構在使用。但是數位典藏不像檔案管理有一套全宗原則,往往還是以客製化的方式設計分類架構為多。

這個客製化的要求並不是說DSpace的內容層級架構不能實作出來,事實上,像林巧敏老師負責的教育部中綱計畫成果資訊網就是一個很適合的例子。不過系統技術人員眼中的分類架構跟數位典藏人員來說有很大的差別。對於數位典藏人員來說,他們更在意的是對於每一種分類導覽功能的客製化。

image

以中綱計畫成果資訊網來說,在一個子計畫瀏覽中又可以依照藏品的類型來分類。若以DSpace實作,一個子計畫則是一個community,每一種藏品的類型是各自的collection,而底下每一筆資料則就是一筆item。那麼DSpace在介面呈現上能不能做到像中綱計畫成果資訊網一樣呈現?作為技術人員的我一定會跟你說:可以,但是要自己改。而這對許多不懂技術的人來說來說,其意義就與DSpace無法做到這種分類架構是同樣的答案。

總而言之,到頭來還是介面上的問題。而且這對泛用型典藏系統的DSpace來說,都已經快要是非戰之罪了。

然而,我認為DSpace在介面功能上的強大,對技術人員來說會有直接的感受。受惠於DSpace嚴謹地設計模式、詳盡的註解說明,技術人員可以輕易地利用DSpace的內容層級架構、瀏覽、搜尋功能做出各種客製化的分類架構,就像全國通識網課程資料庫一樣。我看過一些商用軟體的程式碼都還沒DSpace漂亮,這是真的。DSpace的程式非常嚴謹且靈活,不僅是容易使用,也很值得學習。


全文檢索的中文斷詞改善

在全文檢索的功能中,DSpace會依據檔案內文製作倒置索引檔,以此來達到全文檢索的功能。然而MIT與HP為西方人設計的DSpace並沒有很完美地考慮到各國的國情,中文斷詞只用二字詞的方式來切截。這會影響搜尋結果並不是十分漂亮。

中文斷詞全文檢索是一塊門檻不低的議題,DSpace-DLLL也沒有解決這個議題,但是未來仍可以從DSpace提供的plugin機制來進行修改,讓中文斷詞更為漂亮。


PDF的HTML網頁化

儘管現在PDF已經如此盛行,但我們真正要使用的時候,還是會希望他是以HTML網頁的方式呈現。只有網頁,才能讓我們能夠為他加上更多的服務,例如標註功能。

其實這幾乎脫離了DSpace原本的要求,但這也的確是我想做的一個功能。未來有機會的話再來挑戰看看吧。



DSpace-DLLL與我

如果有人欣賞DSpace-DLLL,那我會感到非常欣慰,辛苦努力總算有了代價。而DSpace-DLLL會不會像上述的未來發展一樣繼續改進,我希望會,但我也希望會有人來接手。至於我自己,也希望能有這個機緣能夠繼續改進。

機緣,那是很重要的條件。那就是有沒有繼續做下去的價值。也許很多人會認為「有!」,但那是站在使用者的立場來說的。作為開發者的我來說,有沒有價值,那又是另外一回事。


興趣來做的DSpace-DLLL,是以延畢換來的

我在政大圖檔所念了快要四年才完成學業,不瞞大家說,因為我都在玩──最後玩出這個DSpace-DLLL。

在幫忙百年圖書館史、教育部計畫、甚至是寫書的時候,儘管老師並沒有要求很多,但我卻仍會任性地挑戰自我。於是後設資料編輯功能出來了、虛擬機器出來了、更簡單的系統管理方式出來了、一本介紹DSpace的專書也快要出來了。

這並不是為了錢、也不是為了名聲、也不是為了他人(包括老師或是計畫助理),而是為了自己的興趣。那種「想看看跨越山丘之後的景色」是我持續前進的動力,這也往往讓我沉迷在此、樂在其中而不可自拔。

儘管學習的過程讓我感到開心,但我也知道,這其實並不是什麼值得驕傲的事情。當我每天在實驗室修改程式碼的時候,有些老師則是直接對我嘆氣:「唉,你怎麼都在搞這個,幹嘛還不畢業。」

我大概花了將近兩年的時間專搞DSpace,論文幾乎是寫完計劃書之後就放置不理了。每次陳老師想拿我來當學弟妹借鏡的時候,我內心其實都會為這種不顧學生畢業本分而玩樂於DSpace的行為感到汗顏。

在金錢上,因為幫忙計畫事宜,所以當時老師給的人事費仍可以補足日常生活所需。儘管如此,每學期的學雜住宿費仍得仰賴父母的支援。這對一個當時的年紀是應該在外面工作、養活自己的人來說,我這種為了興趣不顧一切的行為並不可取。


只是為了自我成就

DSpace-DLLL的發展並不像是國科會、教育部計畫一樣,是有實質的經費支援。它也不是我的畢業論文,對我的畢業也沒有實質的助力。這種基礎的系統建設並沒有太多學術上值得一提的研究價值,這也不是我想做的研究題目。

它就真的,只是我的興趣,只是一種自我成就,是幫忙計畫專案之後,學習了Java Servlet、AJAX、Linux、虛擬機器、自動安裝之後的一個成果產出與分享,就只是如此。


不能一直玩下去

人不去面對現實也要有個限度,至少這點我還是知道的。為自己設定一個折返點,做到一個程度就該收手,不能一輩子這樣玩下去。我想,這才是一個社會人應有的常識。

我玩得很開心,但是差不多了。

儘管如此,不會對DSpace-DLLL感到滿足的人總是會期望我或實驗室能夠繼續開發下去。我也希望如此,不過我更希望的是看到有人能接手,基於現在的基礎上,繼續深入開發。所以我寫書,我釋出系統,這是我的願望。

至於我自己能不能繼續做,那麼就要回歸現實問題,有沒有經費支援?對於我未來學業、工作上有沒有幫助?有多少經費做多少事情,這才是一種正常的運作模式。在沒有經費、憑著熱情來開發、供人自由取用的火柴人行為,這是可以拿來自己說笑的故事,但卻不是作為要求別人的條件。

所以誰誰誰快來聘我去工作吧,我就能名正言順地繼續玩DSpace了!!


結語

原本只是想記錄一下DSpace-DLLL的介紹投影片,沒想到越寫越多,就變成這樣落落長的一篇了。原本是打算花一個小時來寫,不過實際上似乎是寫了快三個小的樣子。都已經半夜兩點了,好睏。

那麼接下來就是努力讓DSpace-DLLL可以順利出版啦,加油~

總共17 則留言 ( 我要發問 , 隱藏留言 顯示留言 )

  1. 回覆刪除
  2. 回覆刪除
  3. 回覆刪除
  4. 回覆刪除
  5. 回覆刪除
  6. 回覆刪除
  7. 回覆刪除
  8. 回覆刪除
  9. 回覆刪除
  10. 回覆刪除
  11. 回覆刪除
  12. 回覆刪除
  13. 回覆刪除
  14. 回覆刪除
  15. 回覆刪除
  16. 回覆刪除