2010-08-19 68 views
0

我正在尋找在我的網站上創建類似於表單模板系統的東西。例如,我希望用戶能夠創建表單模板(類似於Wufoo,他們可以定義任意數量的輸入,等等)。然後從這些創建的模板中,任何人都可以使用這些模板,填充它們,並因此創建一些表單實例(這對每個用戶定義的模板都是可能的)。此外,創建的模板和實例的數量不受限制。模板設計/架構

純粹從服務器/持久性的角度來看,創建這樣一個系統的最佳方式是什麼?我是否需要爲每個創建的模板創建一個新的數據庫表,然後將表單實例作爲記錄插入到表中?這將如何擴展?

回答

0

此主題非常廣泛。至於可擴展性,Wufoo(和其他表單創建網站)目前正在運行。所以一個簡單的答案是,它已經完成了,所以可擴展性不應該成爲問題。但是,隨機生成多個表格將很快失去控制。

如果您沒有遇到此問題,我首先會爲主鍵構建帶有單個表和UUID的系統。這使得它們稍後可以移動。然後,如果表格大小成爲問題,則可以將表格合理分開。例如,您可以在a_forms表中擁有所有以A開頭的客戶。

至於表格的結構,您可以將它們構建爲一對多。一種形式可以有很多元素。元素可以全部預定義(即文本,文本區域,單選按鈕,複選框,提交按鈕等)。當有人構建表單時,可以將表單元素保存到表格中。當表單需要呈現時,你需要分析元素並構建表單。