2015年4月10日 星期五

Drupal的電子書模組:Book(手冊頁面)


原始發布時間:16 五月, 2011 15:51

Book(手冊頁面)是Drupal的核心模組。但從相關的模組開發,以及我遇到諸多問題在討論區中找答案的感覺來判斷,這是一個相當冷門而少人用的模組。

>> 手冊頁面的應用範例:易學網 〔未經過設計,除了右欄導覽區塊外,此為系統預設值的樣貌〕

這個模組主要的概念是這樣的:你可以把各個不同的節點以大綱的方式關聯及結合起來,形成一本本的電子書(或叫手冊)。〔Drupal把我們觀念中每篇張貼的內容叫做節點node〕

在實際使用過這個模組一陣子之後,覺得這麼模組留待改進的空間還真大。其實這也和Drupal所提供的其他功能很像:很陽春,堪用,但Drupal有很大的開發彈性可以讓你去改造它。

話說回來,如果你對網站的架站系統有很明確的需求,例如,你就是要架一個部落格,或是一個新聞類型的網站,或是論壇、電子商務……總之,如果你的需求是很明確,那麼你應該選擇Drupal之外的專屬系統。部落格的話就選WordPress,新聞網站我還挺推薦Joomla的,論壇的話可能選PHPBB,電子商務可能是Oscommerce……

但如果你要求彈性,而且網站所需的功能多樣化,例如希望在同一系統上,包含以上所有的功能,那麼Drupal會是不錯的選擇。

可是,如果想要架一個電子書網站,我還真不知目前現成的開放源碼有什麼好的專業平台選擇。Drupal至少提供了一個堪用的電子書模組。



模組功能介紹

既然是核心模組,所以在安裝好Drupal系統之後,直接到管理區把該模組啟用即可〔預設的狀態為未啟用〕。



在啟用Book模組之後,內容類型裡會多出一種叫Book(手冊頁面)的內容之外,當你在貼稿時,每篇文章〔不管它是那一種內容類型〕,也都會多出一個「手冊大綱」的選項。

▽ 啟用Book模組後多了手冊頁面的內容類型




▽ 寫文章時也多了手冊大綱的標籤




接著就可以開始張貼你的電子書了。首先以書籍的書名建立一篇文章,建立時內容類型選擇「手冊頁面」(其實不選擇手冊頁面,一樣可以讓其他內容類形變電子書)。

這裡要特別注意的是,在建立文章時,最重要的是要在「手冊大綱」的標籤裡,選擇「建立一分新的手冊」(見上圖)。而這一「篇」(或說這一「頁」),建議內容以全書的介紹,導讀,以及客製化的目錄,或內容導覽為主。

接著,就是將全書的內容一個篇章一個篇章貼到上稿系統裡了。在貼稿時,可以有兩個方法將各個篇章內容放到某一書冊之下。

首先是在建立一篇新文章時,從「手冊大綱」的標籤處選擇已經建立好的所屬書名。▽ 



其次直接從文章下方新增子頁面則是比較好的方法,特別是,當你的書目錄有多層式架構時,此法可直接將內容歸類到適合的目錄位置裡。▽ 



在完成一整本書之後,很可惜的是,Book模組在目錄順序的編排上,利用「權重」排續雖然較為可靠,但此法相當難用,而且數目有限(只有-15~15共31個正整數)。所以,手動去重新編排整篇大綱是常有的事。

▽ 權重編排相當不好用,手動編排大綱 



▽ 直接以滑鼠拖拉就可決定目錄結構與順序(建議不要按下右方顯示列欄權重)。




當輸入完成一本書之後,Book內容的呈現當然和其他內容會有所不同。


>> 可參考易學網,點選裡面隨便一本書

首先是在內容導覽上,在每個篇章的下方,都會有導覽的連結,包括前一篇章,下一篇章,還有回到上層等等的。而你若是有編輯權限,還可以直接在下方的導覽列裡加入新的篇章內容。

同樣也要經過設定的,則是「友善列印版本」的連結,該連結會自動將整本書依照你的安排而輸出成很簡單的html格式。(請參考由此推算回去的前面第三張圖) 附帶一提的是,友善列印連結必需有管理員到使用者權限去做設定控管,才會出現在特定的使用者的頁面上.

另外你也可以到管理區內設定「書冊導覽」的「區塊」,例如,讓完整的書策目錄出現在特定頁面的左側或右側邊欄,或是header………〔總之你所喜歡的頁面區塊〕。




可能的用途

既然是電子書模組,當然最適用的就是內容較為複雜的整本書籍了──特別是內容有階層式結構的書籍。

除了使用在書籍內容上之外,一般的雜誌適不適合呢?

這個問題解答很難一言以蔽之。現在多數雜誌都是或者將內容拆成不同篇章放到網站,或者直接打包成App或是封閉的電子書格式〔可能為了賣錢,可能為了怕被盜版〕,總之很少人想將他直接放在網頁上的。

但我們假設有一家雜誌社,或者是有公司的企業文件,它的屬性並沒有所有這類內容政策的問題(特別是收費及版權管理政策),想的只是把一期期整本雜誌或公司文件的內容忠實的放到網路及上稿系統上。

那麼Book模組在基本架構上是一個不錯的選擇,但最好還是對於它的呈現方式再做些改良,特別是導覽的設計。

我們再假設另一個問題:如果整本雜誌/企業文件的內容架構不是太複雜(例如就是單層的目錄,然後連續幾篇文章),或者是像一些「專題報導」式的內容類型,適合使用Book模組嗎?

這一個問題的解答在Drupal就相當監介了。

這類內容,使用Book模組實在有些殺雞用牛刀,大材小用。但在Drupal上,我覺得還真的只有用Book模組來呈現是較為洽當的選擇。

原因在於,Drupal的單一節點(node,或是單篇文章)上,預設的並沒有實體的「分頁」功能。

你或許可以找到許多有分頁相關的功能,但先前我嘗試過幾個,都沒找到較為簡單好用〔或者說是實用〕的模組。反而先把每個篇章拆分成一個個單一的節點(node),再用Book來重組篇章之間的關係是較為便利的。

但反觀Joomla,其系統預設的分頁功能就相當洽如其份的好用,而且一但內容將他分頁之後,預設的導覽方式也相當簡明而友善,不需重新再設計就有很漂亮的導覽。對於一些專題式報導來說,算是比較適當的選擇──我也偶爾也在找Drupal有沒有一個模組可這樣貼專題式文章,但目前還沒找到。

諸多問題

就如文中一直在強調的,Drupal的Book模組只提供了一個堪用的系統功能,還有不錯的內容架構。

這麼陽春的東西當然要達到好用又美麗的地步,還需要諸多的開發與改造。

不過這裡寫的都是近期使用之後對於一些基本問題所提出的。

臭蟲
該模組在Drupal 7版似乎有些臭蟲。初期在使用時並沒有什麼問題,但我才建立第二本書之後,就開始每次都會出現錯誤警告:


這個警告似乎沒什麼大礙,所建立的內容也沒什麼問題,但沒事出現這錯誤景訊,就是讓人毛毛的。上了Drupal的討論區,發現到也有許多人遇到這個問題,但目前似乎還無解。



導覽及目錄應該更客製化

雖然Book模組提供一個很好的階層式架構來組織內容,但是自內容的呈現上卻是相當僵固而難看,很難應付書籍多變的呈現需求;若是能提供像是隱藏,或是網格式排版....幾種基本簡單的選項,那麼這個模組會更加好用。

SEO:記得安裝Page titles模組

最後,我發現到Book的原始機制裡,對於SEO(搜尋引擎優化)很不友善:很容易造成標題不適當(title)的問題。

以我的易經網站還有未來將改版的數位經典網站來說,經常會遇到這樣的問題:

例如,一本易經,從古到今有N本(N可能是數以萬計)的註解本,每本都是獨立的一本書。當我建立一本本的易經註本之後,在Book模組的預設值裡,這N本的一篇篇,都是一樣的標題。例如,我輸入X本注本的話,我的網站的每一個乾卦(或任一卦,任一章節)都有X個重複的內容。

這種內容(標題)重複的錯誤,在SEO上是非常嚴重的問題。

▽ 從Google網站管理的後台可以見到,HTML分析裡有很多的重複的標題標記




▽ 點選細項查看,都是因為不同書籍的相同章節被當做同樣的內容了




這問題雖嚴重,總歸只能算是我的特殊問題。

另一個一般內容網站上會遇到的可能問題則是,比較好的title,應該是同時包含完整章節名稱,以及書名才是。但Book並不會自動做這樣的呈現,也沒有這樣的選項。事實上,若Drupal的Book模組這樣設計,那我的易經網站就不會有那場SEO災難。

幸好我們可以透過安裝Page Titles這樣的模組來解決。這個模組可以讓你客製化每篇文章的標籤(就是在劉覽器標題列上的文字,這也是搜尋引擎搜尋結果中連結上所提供的標題文字。)<br><br>但比較好的做法是為不同的文章類型設定好不同的模式,不過,你得要安裝Token這樣的模組。<br><br>▽ Page Title模組可以讓你設定每種文章類型的<title>標題產生模式</div> <div> <br></div> <p class="separator" style="text-align: center; clear: both;"> <a imageanchor="1" href="http://2.bp.blogspot.com/-8XOib1IwPUw/VSecAh_efPI/AAAAAAAA4V0/Bh8UBVVE7nk/s1600/110-54869.jpg" style="margin-left: 1em; margin-right: 1em;"><img src="//images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F2.bp.blogspot.com%2F-8XOib1IwPUw%2FVSecAh_efPI%2FAAAAAAAA4V0%2FBh8UBVVE7nk%2Fs1600%2F110-54869.jpg&container=blogger&gadget=a&rewriteMime=image%2F*" border="0" data-orig-src="http://2.bp.blogspot.com/-8XOib1IwPUw/VSecAh_efPI/AAAAAAAA4V0/Bh8UBVVE7nk/s1600/110-54869.jpg" style=""></a></p> <div> <br><br><br>▽ 記得為你的Book內容類型重設<title>標籤模式,讓它能夠同時包含篇章以及書名兩者的標題</div> <div> <br></div> <p class="separator" style="text-align: center; clear: both;"> <a imageanchor="1" href="http://4.bp.blogspot.com/-mJTkUbnA1HI/VSecG0IMQFI/AAAAAAAA4V8/WOR8ix4ioPQ/s1600/110-54870.jpg" style="margin-left: 1em; margin-right: 1em;"><img src="//images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F4.bp.blogspot.com%2F-mJTkUbnA1HI%2FVSecG0IMQFI%2FAAAAAAAA4V8%2FWOR8ix4ioPQ%2Fs1600%2F110-54870.jpg&container=blogger&gadget=a&rewriteMime=image%2F*" border="0" data-orig-src="http://4.bp.blogspot.com/-mJTkUbnA1HI/VSecG0IMQFI/AAAAAAAA4V8/WOR8ix4ioPQ/s1600/110-54870.jpg" style=""></a></p> <div> <br><br><br>▽ Page Title設定頁最下方還有可用的token替代模式可供選擇(所以還必需安裝Token模組)</div> <div> <br></div> <p class="separator" style="text-align: center; clear: both;"> <a imageanchor="1" href="http://4.bp.blogspot.com/-l6h9coVgB5M/VSecMUNqHZI/AAAAAAAA4WE/SxEkIPil9Ko/s1600/110-54871.jpg" style="margin-left: 1em; margin-right: 1em;"><img src="//images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F4.bp.blogspot.com%2F-l6h9coVgB5M%2FVSecMUNqHZI%2FAAAAAAAA4WE%2FSxEkIPil9Ko%2Fs1600%2F110-54871.jpg&container=blogger&gadget=a&rewriteMime=image%2F*" border="0" data-orig-src="http://4.bp.blogspot.com/-l6h9coVgB5M/VSecMUNqHZI/AAAAAAAA4WE/SxEkIPil9Ko/s1600/110-54871.jpg" style=""></a></p> <div> <br><br>在SEO上,如果你還要做得更好,如果你是Drupal 6使用者,則還可再安裝Nodeword這樣模組去設定更多的Meta data,只不過這模組用起來很煩人,除非你非常非常非常……在意SEO這個問題,不放過任何能稍稍改進SEO效能的機會,否則並不建議安裝使用Noseword。我想,有Page Title的加持就很夠用了。</div>

沒有留言: