2012年12月11日 星期二

Drupal學習曲線:一個設定師(configurators)的觀點 | Twin Earth Conservancy Bureau

Drupal學習曲線:一個設定師(configurators)的觀點 | Twin Earth Conservancy Bureau:
( source  )
等級 1: Drupal核心 + 基本欄位
等級 2: 中等程度欄位 + 基本Views
等級 3: 中等程度Views + 複雜的單一用途模組
等級 4: 外面的世界
等級 5: 組合模組 + 基本Rules + 基本Panels/Page管理
等級 6: 存取設定 + 複雜的Rules與Panels/Page管理
等級 7: 秘密忍者領域

Time to go!
等級 1: Drupal核心 + 基本欄位

這個等級著重於瞭解Drupal總的來說是什麼。包含管理Drupal的基本功,不過沒有很多讓你真的感到興奮的酷玩意兒。
  • 建立節點:你知道怎麼建立、編輯節點(node)以及處理基本的節點設定。你知道摘要與全文節點是指什麼東西。你甚至知道到底一個節點是什麼鬼玩意兒。
  • 使用者、角色與權限:你知道怎麼樣建立與編輯使用者。你知道怎麼樣建立角色並指派給使用者們。你知道怎麼樣指派權限給不同的角色們。
  • 改變一些基本的網站設定:你知道怎麼樣變更首頁、網站名稱、帳號註冊程序的設定、取消顯示節點的作者資訊,以及一些其他的網站基本設定。泛泛而言,你開始學到以自己的方式在管理選單中遊走,甚至有可能加入了幾個捷徑(假定你正在使用Drupal 7的話)。
  • 分類:你知道「主分類詞」(vocabularies)是什麼意思,而且知道怎麼樣使用自由標籤(free tagging)以及樹狀結構的分類方式。如果你正在使用Drupal 7,你可能仍然搞不清楚怎麼樣去設定某一部份的分類選項。
  • 區塊:你知道怎麼樣去控制區塊顯示的位置,即便說你使用多重版型也清楚該怎麼做。你能夠使用根據角色劃分的區塊顯示設定,而如果你使用Drupal 7的話,你知道怎麼根據節點類型來做顯示設定。
  • 選單:你可以輕易的把節點加入選單中,並且知道怎麼把任意的連結加成選單項目。你瞭解主選單(promary menu)和次選單連結怎麼樣在一個版型裡頭運作(在Drupal 7的話則是主要選單(main menu)與次要選單的差別)。
  • 修改節點類型(預設)設定:你知道怎麼樣去設定節點類型的預設行為,像是發表狀態、回應以及版本控制(如果你使用Drupal7則包括選單設定)。
  • 用簡易的欄位來擴充節點類型,以及安裝模組:你可以增加簡易的欄位到節點中,像是文字、數字、下拉清單、連結以及電子郵件地址,以擴充節點能儲存的資訊。你也知道怎麼樣變更基本的欄位顯示設定。處理這些欄位可能也會涉及到要安裝你的第一個模組 - 如果你用Drupal 6,是CCK;如果你用Drupal 7,則是field模組。你知道第3方模組應該要放在sites/all/modules目錄下面。

「我很差」門檻

等級 2 – 中等程度欄位 + 基本Views
這個等級裡面,你會開始碰到一些Drupal裡頭的酷玩意兒,不過仍不清楚說這些東西到底有多炫。這會包括在結點連結表單以及簡易views中的資訊架 構。(抱歉,你沒法子跳過使用Views而跨過「我很差」的門檻。)你會更熟悉節點的管理工作,包含影像以及像是Automatic Nodetitles與Scheduler等模組。
  • 節點連結:你知道怎麼使用節點連結(node references)(D7里頭則是relations)以建立節點類型之間的資訊架構(即便說有時候你會不小心搞砸這個架構)。
  • 圖片處理:你知道怎麼把圖片當作欄位插入到節點中,同時知道怎麼樣建立新的圖片樣式(在Drupal 6則是ImageCache預定值)。
  • 用Views做出簡易的節點列表:你已經用Views模組建立了簡易的節點列表,而且可以處理基本的欄位、過濾器以及排序設定。你或許甚至已經嘗試過外顯式(exposed)過濾器。你大概已經試著建立過頁面與區塊的顯示模式。
  • 不複雜的節點擴充功能:你嘗試用過一些可以擴充節點功能的單一功能模組,像是Automatic NodetitlesScheduler 或者Node Reference URL Widget
等級 3 – 中等程度Views + 複雜的單一用途模組
在這個等級裡面,你變得很擅長設定Drupal最受歡迎的模組:Views。瞭解這個模組是能夠使用Drupal之能力的重要成份,不過在讓它能夠活靈活現之前還有些其他重要的事情你得先知道 -- 尤其是怎麼樣搞定你偶然發現的模組。
  • Views: relationships與arguments:你用過relationships去結合資料,超過Views所提供基本項目。你用過arguments以在節點(或使用者)頁面中顯示相關連的資訊。你對預設的argument回饋機制有基本的概念。
  • Views: 修改欄位:你發現Views裡面有為欄位建立連結以及覆寫內容的選項。你知道群組是用來做什麼的,而且可以,比方說,用節點建立日期中的月份把一個節點清單中的節點分組。
  • Views: 附加檔案與feeds:你試過Views本身所提供的所有顯示類型,並且知道,比方說,怎麼樣建立RSS feeds。
  • 擴充Views:你試用過一些Views的擴充套件,像是Views AttachViews Bulk Operations,Semantic ViewsViews Slideshow或者DraggableViews - 儘管說你對它們並非全部瞭然於心。
  • 整合Views的模組:你已經使用過像是FlagNodequeue或者voting等模組,並且知道怎麼樣在Views中取得它們的資訊。
  • 簡單的存取條件:你已經碰到一些Drupal核心的存取控制功能不足的情況,並且嘗試過像是Content AccessTAC Lite以及Organic Groups等模組。
  • 對某些常用模組的感覺:你知道在需要Drupal核心所沒有提供的功能時如何去搜尋模組,並且很常可以決定使用哪個模組而不用一個一個安裝測試。你開始注意到一再出現在你搜尋結果中的模組,並且可能會有一份最愛模組的清單,另外存成一個文字檔。
  • 語系在地化:如果你的母語不是英文,你已經學到怎麼樣安裝你自己的語言以及在需要的時候補上介面的翻譯字串。(然而這不代表那是一個多語網站!)
等級 4 - 外面的世界

在第4級,設定師能夠在後設的(meta)層次上使用Drupal。這不只是把找出與應用的模式納入到Drupal的設定工作中,還要發現並且在某種範圍 上參與Drupal社群中發生的事情。在這個等級的時受,安裝Drupal變成是家常便飯(這本身就值得用一篇到兩篇的部落格文章來講)。
  • 安裝與更新:安裝Drupal網站對你來說已經是例行公事,甚至可能是自然而然的事情。你做過模組的升級工作以及非常有可能也做過Drupal核心的升級。
  • 提出議題:你知道怎麼樣找到臭蟲回報以及程式補釘,你知道怎麼樣回報並且說明新的臭蟲,而且至少不只一次做過這樣的事情。
  • 貢獻翻譯:如果你並非英語使用者,你提供過一些翻譯字串給localize.drupal.org
  • 提供支援:當你在網路尚未你的問題搜尋解答時,你發覺自己為其他Drupalist的問題寫過一些答案。
  • Features模組:你或許已經試過Features模組,並且匯出過一些自己的設定,甚至即使你並非總是使用這個模組,你仍能夠瞭解模組在什麼情況下是可以進行Feature匯出動作的。
  • 教學文件:你開始認真編寫一些設定文件,因為你之前做的某些設定讓其他人(或者很可能的情況是,連你自己都)感到很莫名其妙。

「我很行」門檻

等級 5 – 組合模組 + 基本Rules + 基本Panels/Page管理

在這個等級,Drupal設定師開始組合甚至是相當複雜的模組,以建立強大的功能。你開始使用Rules模組和Panels/Page管理。請注意,編碼 人員並不一定會達到這個等級,因為學習與應用這種Drupal設定工作需要付出相當於你自行撰寫程式一樣多的心力。非編碼人員別無選擇而只能靠設定。就這 點來說,設定師相當瞭解所有的標準模組,不過他仍舊不清楚某些更複雜模組的特色與功能。
  • 簡單的Rules使用案例:你知道怎麼樣建立觸發規則(triggered rules)、規則組合,以及怎麼樣搭配Views Bulk Operations來使用規則組合。
  • 簡單的Panels使用案例:你知道怎麼樣使用Panels/Page管理員來覆寫節點以及使用者頁面。你知道怎麼樣建立變化多端的頁面以及建立過至少一個mini panel。Views的顯示類型,content pane,變得很常出現在你的設定中。
  • 複雜的views:你感覺很輕鬆可以使用Views中的argument和relatioinship,甚至把兩者加起來一起用。你使用Views(或者頁面管理員)來新增選單頁籤(tabs)。
  • 組合模組:你把標準模組組合起來以達到複雜的功能,而非只是尋找能夠做到同樣功能的專用模組:用DraggableViews管理CCK欄位, 用Views限制CCK連結欄位的內容,使用Flag來達到廣泛多樣的目的,諸如此類。
  • 效能:你開始思考怎麼樣設定Drupal以減少效能上的衝擊。你可能使用過Cache Actions。你深深明白每次你進入設定項目中的PHP code的時候,你在做一些蠢事和錯事。
等級 6 – 存取設定 + 複雜的Rules與Panels/Page管理

這時候你差不多成為設定師了。在這個階段,設定師能夠在網站上有效的組織訊息並且讓他的模組能夠做到連編碼人員都感到有挑戰性的工作。一個這種等級的設定 師在選擇模組的時候,是既廣泛又挑剔的。無法和標準工具密切配合的模組幾乎都會被淘汰,甚至連能夠提供90%所需功能的模組也不例外。
  • 複雜的Rules:你知道怎麼樣使用Rules Scheduler,並且可以在必要的時候建立連鎖式的規則組。
  • 複雜的存取條件:你能夠結合模組,像是Rules + Content Access, Rules + TAC, 以及node references + ACL等等,以建立複雜的存取規則。
  • 複雜的Panels/pages:你可以輕易的在Page manager中設置多重的contexts以管理變數、Views arguments、存取規則以及顯示規則。你試著把Views當作 context來用,不只內當作內容。你大概在某些時候用過Panels Everywhere並且瞄過Butler discussion group
  • 專注於架構(architecture):在開始建立任何網站之前,你徹底思考過網站架構並且確定它能夠符合任何你需要做到的資訊花樣。你把快取以及效能列入考慮。
  • 找出失落的組合程式碼:你能夠指出在模組架構中的什麼地方加入一個小型CTools外掛、Rule action或其他細微的變動,可以有效率地解決你的問題。你常訝異地發現這樣的東西在其些地方被當作是程式補釘。

「我是傳奇」門檻

等級 7 – 秘密忍者領域

這是一個秘密等級,沒有人可以活著談論它。在這個階段,設定師能夠做到特異與神奇的事情,而且可以輕易連結設定工作與像是編碼、主機問題、版型設計以及網站佈署等等的事情。當你在這個等級駕輕就熟之時,你已經可以做到我說不可能的事情。請打電話給我。
  • 設定匯出:你做的所有設定都被匯出而且有版本控制。
  • 多語網站:你可以建立真正算做是多語言的網站,甚至分離國家和語言,而且他們可以如預期一般的運作。
  • 圈套探測:在閱讀一份網站架設指示的時候,你可以輕易指出所有看來功能簡單、但實際上需要100個工時才能完成的隱藏圈套。你也很可能知道要怎麼解決這些問題。你可以評估要花多少時間在含有5%錯誤的情況下建立網站其他的部份。

沒有留言:

張貼留言