如何在 2sxc 中设置跨应用程序实体关系

How to setup cross app entity relationships in 2sxc

我是 2sxc 的新手,正在尝试使用此模块作为开发数据模型的基础来构建一个相对复杂的网站。

我的网站包含许多不同的应用程序(在我看来),例如新闻、事件、人员、工作组等。

我的问题是我应该如何处理实体之间的关系:

对于如何解决这些问题以及如何设置跨应用关系,是否有任何建议? 例如:工作组与人有关系(一对多) 事件和新闻都与类别(标签)有关系

应用程序是一个独立的单元,可以 exported/imported 并且应该仍然可以工作。因此,如果应用程序中的项目相互关联,那就是它的本意。

如果您创建跨应用关系(这是可能的),那么您将失去完整性检查和类似的功能。

  • 因此,如果您有紧密相关的复杂问题,它应该在一个应用程序中。
  • 如果您有多个应用程序只是使用另一个应用程序进行额外查找,那是可能的

EG:假设您有一个描述人物的人物应用程序,并且您希望有其他应用程序(如新闻)提到一个人 - 目标是能够点击那个人获取该配置文件或类似配置文件,这就是您的操作方式:

  1. 创建人脉应用
  2. 创建新闻应用程序
  3. 在人脉应用中,确保你有一个人的唯一 ID。我不会使用数据 ID(GUID),而是使用个人代码(如 Daniel Mettler 的 DM)或类似代码。
  4. 在 news-app 中,同样创建一个 person-id 字段。为简单起见,假设它只是一个文本下拉列表。您还可以创建一个数据下拉列表,从其他应用程序获取数据,但这是高级的 - 所以稍后再做。现在,制作一个下拉菜单并预填已知人员的 ID。

现在您可以创建所有视图等。确保添加一些空值检查和类似内容,这样如果在其他应用程序中找不到 ID,代码就不会中断。