代码之家  ›  专栏  ›  技术社区  ›  Robin

如何最好地为每个用户/客户创建自定义字段?

  •  2
  • Robin  · 技术社区  · 15 年前

    我有一个应用程序作为SaaS出售给多个客户。可以预见,有时 客户希望通过添加自己的字段自定义应用程序的某些区域 特别是与行动/项目跟踪相关的领域。我们目前只允许少量这样做。它通过在数据库中为每个客户存储附加字段的名称和每个字段的ID来处理。然后,任何值都存储在第二个表中,该表为每个潜在数据类型(字符串、日期等)都有一列。此表引用自定义字段的ID及其所附加对象的键。这样,我们最终将所有自定义字段数据存储在一个表中。如果它仅限于少数客户字段,我不会太担心这一点,但现在它被视为销售和客户服务的一个机会,可以快速为单个客户定制应用程序,在某些情况下,获得的自定义字段比最初的问题项目更多。

    我已经说服了人们,我们现在应该推迟这些大规模定制,我一般认为,如果你想要这种行为,你应该正确地构建它,例如创建相关的数据库表等。还有一个问题提到了在数据库中实现这一点的两种方法 here . 一种解决方案与上述方案类似。另一种方法是在表上定制一组冗余字段,称为text1、text2、date1、date2等,然后用户可以根据需要在GUI中对它们进行重命名。

    不过我想知道, 其他人是如何解决这个问题的?他们的解决方案有哪些限制?还有我可能做的任何进一步阅读的建议。

    干杯,

    1 回复  |  直到 15 年前
        1
  •  1
  •   user151323    15 年前

    我们还开发SaaS,我们还有需要各种定制的客户。

    在它或多或少对所有客户都有用的地方,它有一个固定的实现。意义、表格和字段。该功能通过属于用户包的某些访问权限启用或禁用。

    当用户被允许动态定义字段及其相关子字段以创建自己的表单时,我们也有不同的情况。它是如此复杂。这里我们用一种 Entity Attribute Value model 以满足这些需求。

    这就是“企业”应用程序的特点,可能是它们的独特功能——客户想要一些异国情调的东西,我们不能拒绝。