您在這裡

Drupal的分類概念介紹

jimmy's 的頭像
jimmy 在 2006-05-19 (週五) 01:11 發表

本文主要的目標為介紹drupal的分類概念,並不包含詳細的設定。詳細的設定請看別篇討論文章,當然你想自己寫一篇貢獻,使用drupal的中文用戶,一定會很感激你的!現在,就讓我們開始瞭解drupal的分類吧。

其實做一個網站,無時無刻不在為你的內容進行分類,從導覽列、選單,右側的呈現、文章的內容...等,每個內容似乎都需要分類。也因此,若能瞭解分類的概念,配上Drupal強大的分類系統,你的網站一定可以提供使用者一個很好的瀏覽經驗,管理文章起來,也會更加得心應手。

1. 由上還是由下開始分類?
當我們要定一個分類,第一個問題是,該要定怎樣的分類呢?
是一個很大的抽象詞彙(如:社會),或是一個較為聚焦的詞彙(如:社會議題),還是一個很聚焦的詞彙(如:WTO)?

在進行這個兩難的抉擇時候,我們必須要先瞭解,分類最重要的目的,就是幫助其他人找到、瞭解這篇文章,要為你的站下怎麼樣的分類,就是就是要瞭解自己站上有哪些分類項目。先讓我們簡單看看這張圖:

上面這張圖,大致上顯示了一個站上的範圍(黑色圈圈),擁有的文章(星號),和擁有的大分類(色塊)。色塊之間彼此重疊,表示分類與分類間可能會有重疊的部份,就是某篇文章可能可以同時擁有兩種分類;而剩下的白色部份,就表示有些文章沒有在任何的大分類裡頭。

(大分類,以下統稱分類(category))

由上而下的分類,讓使用者依照我們設定的樹狀結構尋找到他想看的文章,因此由上而下的分類,詞彙通常會由較上層的面向開始出發,但也不會有太細部的分類,讓使用者摸不著頭腦,得要往下好幾層才能找到想要的分類項目。
這之中取決點有時很難決定,因為同一層分類裡頭各個不同的分類項目,要能有同樣的想像空間,包含到類似的範圍並不容易,而要讓分類不至於太多曾,詞彙不會太雜亂,讓使用者好瀏覽,這又是難上加難。

但是分類有時也很有問題的,有時候碰到一種狀況,就是一篇文章同時包含好多種分類,甚至所有的分類好像都跟這篇文章有關,該怎麼辦呢?或是有時候怎樣也找不到適合這篇文章的分類,那又怎麼辦呢?
因此這時就有關建字(keyword)的出現了(跟最近很紅的tag相近)。

關鍵字也是從有分類學以來,一直存在的東西,他並不是一個新東西。關鍵字跟分類的方式相反,他是由下而上的方式,來為文章的內容定義。這樣的方式,可以解決分類所無法解決的難題,因為有些文章雖然含括了所有的分類,但卻有特別重要的概念或是關鍵,透過分類無法凸顯出來,關鍵字便派上了用場。某些文章在所有大分類之外,但透過關鍵字,他也可以找到一個良好的棲身之處。

說完關鍵字和分類的差別,那最近很紅的Tag又是什麼呢?
基本上,他可以說是一個融合由上而下和由下而上這兩種方向來為文章下定義,打破樹狀結構,也打破了關鍵字用途的限制。你可以自由定義文章所屬的詞彙,可以由很廣泛的詞彙,到很獨特的詞彙所組成。廣泛的tag可以幫助使用者瞭解什麼話題很多人在聊,獨特的詞彙可以幫助使用者找到你這篇獨特的文章,甚至可以幫助使用者尋找到相關的話題。

tag可以說是因為web的興起,搜尋、人工智慧分詞技術的成熟,才興起的一種新興分類方式。

2. 由什麼角度出發去分類?
在瞭解基礎的分類學之後,來看看分類的不同面向,這樣有助於瞭解每個「分類表」的角色不同。

2.1 以文體來分類
直接舉例,像是「敘述文」、「論說文」、「抒情文」,這樣的分類,便可以稱做文體的分類。但是除此之外,還有什麼特別呢?讓我們看看幾張圖:
圖:不同的文體通常是不同的功能,也有不同的格式

上面兩張圖,發表新聞和發表活動的文體並不一樣,你可能希望發表新聞的時候,可以加上參考資料來源,而發表活動時,可以附上時間地點。也可以說,不同的文體,也代表有可能是不同的格式,依據格式的不同來分,其實最終的意義是文體本身是不同的。

2.2 以功能、用途來分類
舉例而言,有可能你想要分類的是站上的用途。是「最新消息」,還是「說明文件」,或是「我們的產品」,這樣就是依站上的用途來為內容分門別類。
當然有時候功能不同文體也不同,以drupal舉例,book和forum就是不同的功能,而且他們的文體也不盡相同。

2.3 以文章主題、內涵來分類
這就是最基本,最常用的分類方式了,而關鍵字,通常也只會用在此部份。
舉實例來說,一篇文章依據主題分類,他可能屬於「生活娛樂資訊」大項,和「影視新聞」次項目。
依據關鍵字來分類,他的主題關鍵字可能是「劉德華」、「金馬獎」...等等。
那他的tag呢?是我的話會這樣填:娛樂、影星、劉德華、金馬獎、2004

我猜到這裡應該很能夠瞭解,依據主題分類跟上面兩種分類面向的不同。

3. 善用Drupal的各種分類系統
3.1 menu system
drupal的memu.module進行了兩種功能,一種是允許使用者建立「導覽列」,另一種是允許使用者調整「右側的操作板塊」,可以說是以功能面向來下手的分類方式。

導覽列的用途,是讓你的使用者能夠很快速的瞭解你這個站的架構和功能,有哪些分區、服務項目,他可以說是一個站最基本的功能。
操作板塊(navigation block)則是讓具有權限的使用者,可以快速、方便的與你的網站進行互動,諸如發表文章、投票、觀看個人資訊..等等的功能,都會在操作板塊上面,也允許你對他重新命名、調整位置。

4.7開始,menu system及包含兩種功能,而4.6的導覽列,則需要到主題去設定。

3.2 node type: 以文體、功能為主的分類系統
圖:不同drupal站上的各種文章類型

裝好drupal,可以發現有很多模組可以啟用,包含forum、story、blog、page...等等的模組;而drupal在發表文章的時候,也多了很多種「文章類型」讓你選擇。基本上,這就是屬於一種文體、功能合併的分類方式。

你可以在page發表屬於站上的靜態頁面,在story寫固定會發佈到首頁的最新消息,而blog則寫你自己的日誌。雖然他們的發表格式都是相同的,但他們的文體並不一樣,用途也不相同。

除此之外,只要你安裝了flexinode或是CCK這種模組,你也可以自己定義許多不同的文章類型(node type),讓你的站上多了許多不同用途的文體。但請記得,這樣的方式通常用來區別「功能」和「文體」,而不是為了區別「主題」的,區別主題的分類,則是下面的taxonomy的作用。

3.3 taxonomy term(category): 由上而下的分類
term是taxonomy.module的其中一種分類方式,他允許使用者自訂多個樹狀結構,在不同的文章類型(node type)來顯示分類表。
圖:不同分類表的子項目

taxonomy term最基本的用途為文章主題分類,在發表文章時可以點選。除此之外他還有很多應用,譬如與event模組結合,他便可以顯示不同種類的活動,與simple news模組結合,便可以發佈不同種類的電子報,而與drupal內建的forum模組結合,便可以顯示不同的分區。
更複雜的應用,我舉個例子說明應該就可以明白。今天drupal taiwan有個分類表是drupal的版本,但什麼樣的時候需要這個分類表呢?
一是最新消息,二是論壇討論的文章,三是book...但page需要嗎?可能不太需要,所以這個term的用途,跟node type其實是多重的重疊關係。

但最重要的是,看上去像是依功能來分的這些應用,其實都是依「主題」來劃分界線的,不同的討論區看似功能不同,但其實最重要的是他討論的主題不同;不同的電子報看起來是功能不同,但其實他們都在同樣相同的「電子報功能」下,只是發佈出去的訊息主題不一樣。同樣,討論區的類別,也可以在別的node type上面顯示,只要文章的主題符合討論區的分類就可以,這樣以來,討論區就可以有不只forum這種文章類型了。

3.4 taxonomy free tagging: 由下而上分類
關於tag,因為最近很紅,但是使用上仍要注意幾件事。
第一,「絕對不要」給你的使用者建議的tag list,因為這樣好心的「建議」,其實跟由上而下的taxonomy term是重複的,使用者辛苦建立起來的並不是由下而上的分類,僅僅只是另一種不上不下的分類罷了。
tagging的自由性非常重要,這樣才有辦法做出以下精確的應用:
圖:tag的進階應用

熱門的tag,或是相關的tag,其實都需要文章的特殊性才有價值,若給了建議的tag list,很可能這樣出現的tag永遠都是list中的那些tag。

在4.7版本裡,drupal把free tagging與taxonomy整合。但在4.6版本,要用tag的功能得要額外裝一些模組,諸如awTags,free tagging等等,都是4.6常用的模組。

3.5 book: 以功能為主的分類
簡單說,book這個模組就是專門來建立手冊用的,也可以說是一個以功能為主的分類方式,可以輕易的把你站上任何文章重新組織,成為一本結構化、容易閱讀的電子書籍。
但是為什麼要把book特別區分出來談?其實因為他有非常特別的用途,book不但不屬於上面任何一種分類方式,還可以跟node type、taxonomy term、tag交互的重疊應用,可以說是一個極為彈性的使用方式。
圖:將站上文章配置在你想要的書目位置

一本書的最重要的部份就是他的目錄結構,book模組就是在這部份的特殊應用。但是除此之外,book還可以做怎樣的應用呢?他只不過是一本書而已吧!?
舉例而言,你可能站上有散落各處,主題相關的新聞文章,都有同樣的tag。今天你只要花少許的時間,搜尋這些文章,蒐集一下成為一個「專題報導」,讓讀者閱讀這個你「編輯」出來,好閱讀的書籍。那一本書很重要的index呢?別擔心,這部份就讓tag來幫忙吧,book這時扮演了由上而下的分類方式,那tag就可以扮演由下而上,書最後附上的index了,讓你的讀者一下子就能找到他們想要的內容。

======================================
還有什麼沒寫到的呢?
有什麼應用是你特別發現出來的呢?
回應給大家,讓大家可以知道你的應用!

這些分類型式雖然常接觸,但是第一次看到這麼有系統的介紹,不得不五體投地!

之前在6.5版時有用flexinode模組,建立一個”聯絡簿”的功能,有人名,地址,電話,email...之類的,然後用taxonomy分類公司,朋友,家人...最後是taxonomy_access_control模組去控制讀取權限(但是他好像跟event模組有點一不相容,詳細我已經忘了,改天有空再來試試看7.0版的),總之就是用分類做”聯絡簿”.

原來還可以拿來當「聯絡簿」啊!
真是挺神奇的說...

--
from open mind to open source~