2010-06-17 44 views
5

我最近創建了一個非常簡單的CRUD表,用戶存儲一些數據。對於這些數據,我創建了一個自定義節點。該功能非常適合使用基本節點功能在CRUD表中創建,編輯和刪除數據(實際上,我驚訝地發現使用適當的訪問控制僅使用一小部分代碼來編程基本功能的速度和方便) ...何時不使用Drupal節點?

由於數據並不意味着像'內容'一樣對待,比如博客文章(沒有標題,沒有主體,沒有內容,沒有修改,不應該顯示? q =節點頁面,沒有預覽,沒有teasers等)...我發現我花了大部分時間「關閉」並修改了drupal自動爲節點執行的操作。

我知道它的味道,但應該在哪裏應該被視爲一個節點,什麼不應該在哪裏畫線?換句話說,如果不使用節點,從頭開始編寫這些東西會更好嗎?

+0

作爲後續...我決定不使用節點是我特別的實例。我覺得我只是簡單地使用了一段'數據'(在我看來)永遠不需要評論和版本控制之類的東西;並且大多數情況下都會保留給個人用戶(考慮財務數據)。我決定處理不是一個節點更容易。話雖如此,Drupal的菜單系統,表單API和數據庫API仍然使得'工作流程'易於編程和定製。披露:我喜歡從不使用CCK /視圖獲得的控制權(但這是我想要的品味問題)。 – stotastic 2010-06-21 22:26:39

回答

6

使用節點以自定義數據有相當一些額外的好處除了方便編輯/更新/刪除功能:通過分類

  • 可能的分類
  • 通過筆者跟蹤
  • 創作的隱含跟蹤隱「所有權」 /修改時間
  • 默認情況下的基本訪問控制,可通過大量模塊選擇擴展
  • 靈活的查詢生成/列表/過濾通過意見
  • 可能特設擴展/通過CCK領域註釋工作流程,操作
  • 可能的定義和掛鉤的像
  • 一個龐大的數字,以編程方式攔截/調整幾乎每一個使用樣/場景
  • 評論,投票,等級和噸的所有貢獻模塊上工作/與節點所提供的其他功能...

考慮到這一切,我會說你需要一個很好的理由來存儲數據使用節點在Drupal中。節點只是幾乎所有Drupal生態系統中的基本組成部分,刪除一些不需要的默認「功能」的開銷似乎與增益相比非常小。也就是說,處理與節點系統分離的數據的一個可能的原因/參數可能是如果該數據直接針對註釋其他節點(認爲是分類學)。但是因爲你可以很容易地引用其他節點的節點(有很多不同的選項來說明如何實現這一點),所以這個論點並不強。

另一個(強得多)的說法是數據完整性 - Drupal是不是很強(禮貌地說)關於標準化,關係數據存儲,參照完整性,事務處理以及其他相關主題。如果您有這方面的要求,您可能別無選擇,只能跳過節點概念,並自行在系統內創建和維護獨立的數據島。

3

它也有助於認爲節點不需要公開。有些節點是私人/內部的,可以通過訪問控制進一步控制。無論你在做什麼,你做這件事的方式都會讓你的肩膀上的可擴展性得到提升。

我可能會用CCK /分類學來處理它,這取決於我在做什麼。這樣,我無需編寫任何附加代碼即可獲得Views/Panels/etc模塊集成的額外優勢。

+0

你能否詳細說明'私人/內部'節點的含義。你能指出什麼樣的例子嗎? – stotastic 2010-06-17 14:29:34

+0

並非所有的Drupal內容都必須在網站上公開。這取決於你想要做什麼。例如,如果它不需要正文,請在內容類型中禁用該字段。如果它不需要標題,則實現「自動節點標題」模塊,並將其隱藏。您可以禁用節點類型的註釋。要禁用節點或/?q =節點,您可以更改站點信息中的首頁。 – Kevin 2010-06-17 14:39:48

+0

@stotastic Eventhough節點是網站上的主要內容,但並不意味着每個人都可以訪問它們。使用不同的模塊,您可以根據分類節點類型等創建不同的訪問規則。當您保留節點時,您可以獲得與節點一起工作的每個模塊都可以與CRUD表一起工作而無需執行任何額外工作的能力。這也可以是一個很好的節省時間。 – googletorp 2010-06-17 14:40:15