2010-08-19 67 views
0

我正在寻找在我的网站上创建类似于表单模板系统的东西。例如,我希望用户能够创建表单模板(类似于Wufoo,他们可以定义任意数量的输入,等等)。然后从这些创建的模板中,任何人都可以使用这些模板,填充它们,并因此创建一些表单实例(这对每个用户定义的模板都是可能的)。此外,创建的模板和实例的数量不受限制。模板设计/架构

纯粹从服务器/持久性的角度来看,创建这样一个系统的最佳方式是什么?我是否需要为每个创建的模板创建一个新的数据库表,然后将表单实例作为记录插入到表中?这将如何扩展?

回答

0

此主题非常广泛。至于可扩展性,Wufoo(和其他表单创建网站)目前正在运行。所以一个简单的答案是,它已经完成了,所以可扩展性不应该成为问题。但是,随机生成多个表格将很快失去控制。

如果您没有遇到此问题,我首先会为主键构建带有单个表和UUID的系统。这使得它们稍后可以移动。然后,如果表格大小成为问题,则可以将表格合理分开。例如,您可以在a_forms表中拥有所有以A开头的客户。

至于表格的结构,您可以将它们构建为一对多。一种形式可以有很多元素。元素可以全部预定义(即文本,文本区域,单选按钮,复选框,提交按钮等)。当有人构建表单时,可以将表单元素保存到表格中。当表单需要呈现时,你需要分析元素并构建表单。