文/劉歡
巧用WordPress創(chuàng)建數(shù)字博物館
文/劉歡
目前,Joomla,WordPress和Drupal是最為常見的三種開源CMS。關(guān)于這三種系統(tǒng)誰(shuí)優(yōu)誰(shuí)劣一直是業(yè)內(nèi)討論和關(guān)注的焦點(diǎn),相關(guān)的優(yōu)缺點(diǎn)分析比較的文章也有很多,但我們?nèi)匀缓茈y對(duì)“哪一種系統(tǒng)最好”這一問(wèn)題給出明確的答案。目前來(lái)看,Drupal是三者中功能配置最為靈活的,但是學(xué)習(xí)成本也最高,開發(fā)者需要花費(fèi)較多的時(shí)間精力才能加以熟練掌握。從易于上手學(xué)習(xí)的角度來(lái)看,WordPress則是這三種系統(tǒng)中表現(xiàn)得最好的,這一優(yōu)點(diǎn)使得許多高校信息化從業(yè)人員更傾向于選擇WordPress來(lái)完成一些快速開發(fā)的工作。
WordPress本身是一個(gè)博客平臺(tái),在功能配置和應(yīng)用的靈活性方面具有一定的局限,因此我們常常看到WordPress被用于制作各類內(nèi)容展示網(wǎng)站,如個(gè)人主頁(yè),或是校園網(wǎng)主頁(yè),乃至于商業(yè)公司的產(chǎn)品網(wǎng)站等。但相比Drupal而言,基于WordPress的特殊功能應(yīng)用則較少,特別在國(guó)內(nèi)高校層面,鮮有采用WordPress搭建的各類業(yè)務(wù)管理系統(tǒng)。
華東師范大學(xué)于2014年啟動(dòng)了數(shù)字博物館的建設(shè)工作。由于該項(xiàng)目的工期比較緊張,項(xiàng)目開發(fā)人手嚴(yán)重不足,因此我們從一開始就考慮采用開源系統(tǒng)來(lái)作為數(shù)字博物館的基礎(chǔ)框架。在綜合權(quán)衡、比較了多種框架后,最終選擇了WordPress。這一選擇也獲得了令人滿意的結(jié)果,我們最終在規(guī)定的時(shí)間內(nèi)順利地完成了整個(gè)項(xiàng)目的開發(fā)任務(wù)。在項(xiàng)目實(shí)施過(guò)程中,我們充分體驗(yàn)了WordPress開發(fā)的強(qiáng)大、高效、簡(jiǎn)潔,并強(qiáng)烈體會(huì)到WordPress能夠輕松勝任于諸多“另類”高校Web功能應(yīng)用的開發(fā)情境。
每一種開源框架都存在著自己的長(zhǎng)處和短板,有著與框架對(duì)應(yīng)的最佳適用情境。在高校的Web應(yīng)用開發(fā)實(shí)踐中,并不能一味硬套所謂的流行框架,如WordPress就并不適用于業(yè)務(wù)流程管理類應(yīng)用。因此,在前期選擇開源框架時(shí),首先在項(xiàng)目需求分析上“下功夫”,歸納了數(shù)字博物館項(xiàng)目的幾項(xiàng)核心需求,并在此基礎(chǔ)之上確定適合的開源框架:
1. 藏品數(shù)據(jù)庫(kù)及其Web管理系統(tǒng)的構(gòu)建。博物館藏品數(shù)據(jù)庫(kù)是整個(gè)數(shù)字博物館的核心,該數(shù)據(jù)庫(kù)的藏品字段需要嚴(yán)格按照國(guó)家文物局頒布的博物館藏品信息指標(biāo)體系規(guī)范進(jìn)行建設(shè)。其中,每一個(gè)藏品都具有數(shù)十個(gè)復(fù)雜的指標(biāo)項(xiàng)。為了對(duì)這些信息進(jìn)行有效的管理,則需要?jiǎng)?chuàng)建相應(yīng)的Web管理系統(tǒng),使得系統(tǒng)管理人員能夠方便地增加、編輯和刪除藏品信息。同時(shí),在數(shù)字博物館的前端站點(diǎn)中,則需要對(duì)這些藏品的詳細(xì)內(nèi)容加以展示。
2. 藏品檢索系統(tǒng)的構(gòu)建。數(shù)字博物館的一個(gè)重要功能是為使用者提供藏品檢索服務(wù),因此我們需要在博物館前端站點(diǎn)中創(chuàng)建一套完善的藏品檢索系統(tǒng),使得用戶能夠通過(guò)多種字段查詢到相應(yīng)的藏品信息。
3. 數(shù)據(jù)導(dǎo)入、導(dǎo)出、備份等維護(hù)機(jī)制的創(chuàng)建。博物館的藏品數(shù)量眾多,為了便于管理人員能夠更便捷高效地添加藏品信息,需要在后臺(tái)創(chuàng)建數(shù)據(jù)的批量導(dǎo)入功能。此外,為了便于數(shù)據(jù)的后期維護(hù)管理,保障數(shù)據(jù)安全,還需要開發(fā)相應(yīng)的數(shù)據(jù)維護(hù)功能,使得數(shù)據(jù)能便于導(dǎo)出、隨時(shí)備份。
4. 其他功能需求。數(shù)字博物館中含有部分類型為影像資料的藏品,這就需要有一套相應(yīng)的多媒體資源管理系統(tǒng)對(duì)資料進(jìn)行錄入、維護(hù),并將其展示在前臺(tái)站點(diǎn)中。數(shù)字博物館網(wǎng)站不僅要求能夠檢索藏品資源,還需兼具信息宣傳功能,我們需要為工作動(dòng)態(tài)、通知公告等圖文內(nèi)容創(chuàng)建一個(gè)前臺(tái)展示空間,并搭建相應(yīng)的內(nèi)容管理后臺(tái)。此外,在系統(tǒng)中還需要實(shí)現(xiàn)管理人員的多級(jí)權(quán)限分配、站點(diǎn)流量統(tǒng)計(jì)分析等功能。
圖1 數(shù)字博物館主頁(yè)面
在確定好以上核心需求之后,我們對(duì)比了Joomla、WordPress、Drupal等開源框架,不僅審視這些框架是否能夠在功能上滿足需求,而且還對(duì)開源框架的易用性、靈活性、可拓展性等特征進(jìn)行細(xì)致的考量。其中,WordPress不僅能夠?qū)崿F(xiàn)以上的全部核心功能,而且多數(shù)功能都可以由成熟的第三方插件實(shí)現(xiàn),這就能夠大大節(jié)省開發(fā)人員的工作量,縮短研發(fā)周期。此外,WordPress本身架構(gòu)簡(jiǎn)單易懂,網(wǎng)上又有大量豐富詳實(shí)的說(shuō)明文檔,以及多個(gè)活躍的在線社區(qū),這為開發(fā)人員迅速上手、快捷開發(fā)提供了非常便利的條件。
WordPress本身提供了一個(gè)非常簡(jiǎn)潔、易用的內(nèi)容管理平臺(tái),在此基礎(chǔ)之上,來(lái)自世界各地的大量開發(fā)者貢獻(xiàn)了數(shù)以千萬(wàn)的主題、模板、第三方插件等。數(shù)字博物館的開發(fā)過(guò)程就是一個(gè)“集眾之所長(zhǎng)”的過(guò)程,在充分發(fā)掘各類第三方插件特點(diǎn)的基礎(chǔ)之上,將其和WordPress平臺(tái)本身糅合在一起。
1. 藏品數(shù)據(jù)庫(kù)及其管理系統(tǒng)的實(shí)現(xiàn)。要將WordPress平臺(tái)改造成為博物館系統(tǒng),核心是要將WordPress中每一篇“文章”轉(zhuǎn)變成為相應(yīng)的藏品“記錄”。在WordPress的文章中只有標(biāo)題、內(nèi)容、特色圖像等字段,而藏品記錄則需要具備文物類別、年代、地域、人文信息、質(zhì)地、顏色、尺寸、數(shù)量、文物來(lái)源、入館登記號(hào)等數(shù)十個(gè)自定義字段。在此,我們使用了頗負(fù)盛名的WordPress第三方插件:Advanced Custom Fields(簡(jiǎn)稱ACF)來(lái)解決這一核心問(wèn)題。ACF可用于在WordPress中創(chuàng)建自定義字段,并為這些字段創(chuàng)建相應(yīng)的表單。ACF提供的表單類型之豐富,甚至于一些級(jí)聯(lián)下拉菜單也能夠方便地直接生成。例如藏品的基本部類有文物藏品、標(biāo)本藏品、模型藏品等數(shù)種,其中文物藏品又包括石器、陶瓷、玉器等文物類別,標(biāo)本藏品也包含了植物標(biāo)本、動(dòng)物標(biāo)本、人體標(biāo)本等標(biāo)本類別。用戶在第一級(jí)下拉列表中選擇好藏品基本部類后,ACF會(huì)自動(dòng)生成相應(yīng)的次級(jí)下拉列表,以便于用戶選擇更細(xì)分的文物類別。
2. 藏品檢索系統(tǒng)的實(shí)現(xiàn)。WordPress的搜索功能默認(rèn)為文章的標(biāo)題和內(nèi)容搜索,當(dāng)我們使用ACF增加了各種藏品自定義字段后,如何能夠?qū)@些字段的內(nèi)容進(jìn)行檢索成為關(guān)鍵。在此我們使用了另一個(gè)名為“Search Everything”的插件。這個(gè)插件能夠幫助我們不僅在前臺(tái),而且在后臺(tái)頁(yè)面中也能夠搜索所有的自定義字段,大大增強(qiáng)了系統(tǒng)的搜索能力,使得我們能夠在前臺(tái)站點(diǎn)中輕松快捷地創(chuàng)建帶有豐富的過(guò)濾條件的搜索頁(yè)面。此外,這一插件還提供了多樣化的檢索配置選項(xiàng),如設(shè)置只在某些分類中進(jìn)行檢索,或是在檢索的結(jié)果頁(yè)中為關(guān)鍵字詞標(biāo)示背景色,等等。
3. 數(shù)據(jù)導(dǎo)入、導(dǎo)出、備份等功能的實(shí)現(xiàn)。WordPress有大量的第三方導(dǎo)入插件,但是大部分插件的導(dǎo)入格式都是基于默認(rèn)的文章字段的,在此我們使用了“WordPress Importer”,該插件支持自定義字段的數(shù)據(jù)導(dǎo)入。為了使其與ACF的自定義字段相契合,我們還對(duì)該插件進(jìn)行了局部的改進(jìn)。數(shù)據(jù)的導(dǎo)出則采用XLS格式,在此使用了WP CSV插件。數(shù)據(jù)的備份功能通過(guò)WP-DBManager插件來(lái)實(shí)現(xiàn)。
4. 數(shù)字博物館充分利用了WordPress本身的平臺(tái)功能和一些第三方插件來(lái)實(shí)現(xiàn)其余的重要功能。如通過(guò)WordPress自帶的多媒體管理、媒體庫(kù)等功能實(shí)現(xiàn)影像資料藏品的管理,通過(guò)WordPress自帶的文章管理實(shí)現(xiàn)信息展示功能,通過(guò)User Role Editor插件實(shí)現(xiàn)人員權(quán)限的分級(jí)管理,通過(guò)Google Analytics來(lái)實(shí)現(xiàn)流量的統(tǒng)計(jì)和分析等。
通過(guò)數(shù)字博物館的開發(fā)實(shí)踐,我們總結(jié)了使用WordPress這一開源框架的三大優(yōu)點(diǎn):
一是開發(fā)快捷,成本極低。博物館網(wǎng)站中大多數(shù)系統(tǒng)功能都借助了第三方插件予以實(shí)現(xiàn),這大大節(jié)省了開發(fā)人員的時(shí)間和精力。而且WordPress本身也非常容易學(xué)習(xí),即使是剛?cè)腴T的高校信息化從業(yè)者,也能在很短的時(shí)間內(nèi)做出成型的作品。另外,WordPress的使用者眾多,教程、參考資源極為豐富,在開發(fā)過(guò)程中遇到的絕大多數(shù)問(wèn)題都可以在網(wǎng)絡(luò)上搜索到直接的答案。
二是系統(tǒng)開放,易于修改。WordPress的系統(tǒng)本身有較強(qiáng)的可修改性,如我們通過(guò)修改系統(tǒng)語(yǔ)言包,就能夠?qū)⑾到y(tǒng)后臺(tái)的一些關(guān)鍵文字加以修改(比如,將“文章”字樣修改為“記錄”),這樣管理人員在后臺(tái)操作時(shí)會(huì)感覺(jué)不出他們實(shí)際上是在操作一個(gè)博客系統(tǒng)的后臺(tái)。此外,我們也可以通過(guò)修改系統(tǒng)的主題模板,方便地更改前臺(tái)頁(yè)面的設(shè)計(jì)樣式。
三是后臺(tái)簡(jiǎn)潔,美觀大方。WordPress在其官網(wǎng)的自我介紹中就強(qiáng)調(diào)它是一個(gè)“注重美學(xué)”的平臺(tái),在實(shí)際使用中我們也確確實(shí)實(shí)地感受到WordPress在圖形設(shè)計(jì)方面的用心之專。整個(gè)后臺(tái)在性能上易于操作和瀏覽,在外觀上也非常優(yōu)雅大方、風(fēng)格清新、色彩誘人,管理者的使用體驗(yàn)極佳。在套用了Spacious主題后,數(shù)字博物館的前臺(tái)頁(yè)面頗具美感,得到了用戶的好評(píng)。
然而,不可否認(rèn)的是這一架構(gòu)方式也存在著一系列問(wèn)題。如第三方插件有其不穩(wěn)定性和功能的局限性,常常是被動(dòng)地去滿足系統(tǒng)需求;在不深入改動(dòng)系統(tǒng)的前提下,數(shù)據(jù)庫(kù)的表和字段只能遵循WordPress的既定內(nèi)容數(shù)據(jù)格式,有可能給后續(xù)工作帶來(lái)不便;對(duì)系統(tǒng)的深入修改可能導(dǎo)致無(wú)法簡(jiǎn)單地升級(jí)WordPress后續(xù)版本等。然而,從投入、產(chǎn)出方面來(lái)看,使用WordPress這一類開源框架來(lái)進(jìn)行快捷開發(fā),對(duì)于人力、物力、時(shí)間都普遍并不充裕的高校信息化建設(shè)部門而言,無(wú)疑是較具吸引力的一種選擇。
(作者單位為華東師范大學(xué)信息化辦公室)