初探教育云:我们如何理解与应用核心数据模型
当我们团队第一次接触 Salesforce Education Cloud 时,坦白说,它的核心数据模型——特别是围绕着 Account 和 Contact 的扩展和重新定义——给我们带来了不小的“文化冲击”。习惯了 Sales Cloud 或 Service Cloud 中相对直观的客户与联系人关系,Education Cloud 的设计哲学似乎一下子把我们带入了一个更加抽象和层级化的世界。 问题起源:Account的多重身份与Program的归属 我们最开始的困惑,主要集中在两个核心点上: Account 的多重身份: 在 Education Cloud 中,Account 不仅仅代表了“机构”(比如大学本身),它还被用来表示“学院”、“系”、“学术项目”甚至“家庭”。这种一物多用的设计,虽然在理论上增强了灵活性,但在实际理解和应用时,我们很容易混淆。 学术项目 (Program) 的归属: 如何准确地表示一个学生“入读”了某个具体的学术项目(例如,“计算机科学学士”或“历史学硕士”)?我们的第一反应是,这应该是一个独立的自定义对象,或者通过产品目录来实现。然而,当我们深入了解 HEDA(Higher Education Data Architecture,Education Cloud 的底层数据架构)时,发现它有自己的独特方式。 起初,我们曾试图简化问题,考虑直接在 Contact 对象上增加自定义字段来记录学生的“专业”或“学院”。这种想法在小规模、需求不复杂的场景下或许可行,但很快我们就意识到,这会带来一系列的问题: 无法清晰地表示学术单位之间的层级关系(例如,某个系属于哪个学院,哪个专业属于哪个系)。 难以追踪学生在不同学术项目之间的转学、转专业历史。 在未来的报告和分析中,会缺乏结构化的数据来支持更复杂的洞察(比如,某个系的学生表现如何,某个专业的热门程度等)。 我们的判断、取舍与解决方案 理解 HEDA 的核心哲学:一切皆“账户” 经过多轮的内部讨论、查阅官方文档(虽然有些地方确实需要反复琢磨才能领会),以及与 Salesforce 专家的交流,我们逐渐理解了 Education Cloud 在 Account 对象上的“激进”设计。 它并没有创造大量的全新顶...