如何在 2sxc 中设置跨应用程序实体关系
How to setup cross app entity relationships in 2sxc
我是 2sxc 的新手,正在尝试使用此模块作为开发数据模型的基础来构建一个相对复杂的网站。
我的网站包含许多不同的应用程序(在我看来),例如新闻、事件、人员、工作组等。
我的问题是我应该如何处理实体之间的关系:
- 一方面,我知道如果所有实体都属于同一个 APP,我可以创建关系。但这并没有促进现有应用程序的重用,并使单个应用程序更加复杂。
- 另一方面,创建不同的应用程序会提高可重用性,但会增加跨应用程序实体关系的复杂性(如果可能的话?)。
对于如何解决这些问题以及如何设置跨应用关系,是否有任何建议?
例如:工作组与人有关系(一对多)
事件和新闻都与类别(标签)有关系
应用程序是一个独立的单元,可以 exported/imported 并且应该仍然可以工作。因此,如果应用程序中的项目相互关联,那就是它的本意。
如果您创建跨应用关系(这是可能的),那么您将失去完整性检查和类似的功能。
- 因此,如果您有紧密相关的复杂问题,它应该在一个应用程序中。
- 如果您有多个应用程序只是使用另一个应用程序进行额外查找,那是可能的
EG:假设您有一个描述人物的人物应用程序,并且您希望有其他应用程序(如新闻)提到一个人 - 目标是能够点击那个人获取该配置文件或类似配置文件,这就是您的操作方式:
- 创建人脉应用
- 创建新闻应用程序
- 在人脉应用中,确保你有一个人的唯一 ID。我不会使用数据 ID(GUID),而是使用个人代码(如 Daniel Mettler 的 DM)或类似代码。
- 在 news-app 中,同样创建一个 person-id 字段。为简单起见,假设它只是一个文本下拉列表。您还可以创建一个数据下拉列表,从其他应用程序获取数据,但这是高级的 - 所以稍后再做。现在,制作一个下拉菜单并预填已知人员的 ID。
现在您可以创建所有视图等。确保添加一些空值检查和类似内容,这样如果在其他应用程序中找不到 ID,代码就不会中断。
我是 2sxc 的新手,正在尝试使用此模块作为开发数据模型的基础来构建一个相对复杂的网站。
我的网站包含许多不同的应用程序(在我看来),例如新闻、事件、人员、工作组等。
我的问题是我应该如何处理实体之间的关系:
- 一方面,我知道如果所有实体都属于同一个 APP,我可以创建关系。但这并没有促进现有应用程序的重用,并使单个应用程序更加复杂。
- 另一方面,创建不同的应用程序会提高可重用性,但会增加跨应用程序实体关系的复杂性(如果可能的话?)。
对于如何解决这些问题以及如何设置跨应用关系,是否有任何建议? 例如:工作组与人有关系(一对多) 事件和新闻都与类别(标签)有关系
应用程序是一个独立的单元,可以 exported/imported 并且应该仍然可以工作。因此,如果应用程序中的项目相互关联,那就是它的本意。
如果您创建跨应用关系(这是可能的),那么您将失去完整性检查和类似的功能。
- 因此,如果您有紧密相关的复杂问题,它应该在一个应用程序中。
- 如果您有多个应用程序只是使用另一个应用程序进行额外查找,那是可能的
EG:假设您有一个描述人物的人物应用程序,并且您希望有其他应用程序(如新闻)提到一个人 - 目标是能够点击那个人获取该配置文件或类似配置文件,这就是您的操作方式:
- 创建人脉应用
- 创建新闻应用程序
- 在人脉应用中,确保你有一个人的唯一 ID。我不会使用数据 ID(GUID),而是使用个人代码(如 Daniel Mettler 的 DM)或类似代码。
- 在 news-app 中,同样创建一个 person-id 字段。为简单起见,假设它只是一个文本下拉列表。您还可以创建一个数据下拉列表,从其他应用程序获取数据,但这是高级的 - 所以稍后再做。现在,制作一个下拉菜单并预填已知人员的 ID。
现在您可以创建所有视图等。确保添加一些空值检查和类似内容,这样如果在其他应用程序中找不到 ID,代码就不会中断。