首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Salesforce部署最佳实践?

Salesforce部署最佳实践?
EN

Stack Overflow用户
提问于 2011-08-10 04:19:10
回答 2查看 3.9K关注 0票数 3

我们目前正在试验Salesforce平台,以取代几个内部CRM工具,并且已经部署了一些代码。随着代码库的增长,我们开始感受到其他人在代码组织方面所描述的一些痛苦(没有良好的命名空间/打包等)。我们是企业级客户,虽然我们目前的实验只涉及一个部门,但我们希望它最终会扩展到整个公司。

在一个组织中,有3-4个完全不同的销售团队,每个团队都有不同的业务流程,因此有不同的编码(在SF术语中:记录类型、布局、触发器等),管理部署的好方法是什么?“包”很适合这个吗,或者整个公司应该在同一个SF组织/名称空间内玩得很好?

EN

回答 2

Stack Overflow用户

发布于 2011-08-10 23:30:40

通常,您不会享受开发体验,因为您有三个团队,每个团队都将尝试建立自己的系统。每种开发方式都会略有不同,因为它们会找到不同的解决方法来解决将出现的许多问题。

您必须找到一种方法来命名触发器和类的空间:为每个团队选择一个前缀,以分隔他们的代码。

使用较少的大类:当使用传统的OOP (例如Java)编程时,我喜欢小而有意义的类。但是在Salesforce中,管理一个类有很大的开销。另外,所有类都只有一个很大的文件夹(讨厌)。因此,我现在构建更大的类文件。在每个文件中,我都包含测试代码。我将触发器测试代码放入对同一对象进行操作的类(如控制器)中。

要跟踪更改并执行代码审查,您可以使用此技术:结合使用Force IDE和版本控制系统,如CVS、SVN、Mercurial或Git。

将您的主生产项目设置为包含所有内容(右键单击项目...Force.com ...项目属性。在preferences对话框中,展开Force.com并选择Project Contents。按Add/Remove并添加所有内容)。我还没有以这种方式将配置文件更改从IDE部署回生产环境。这样做可能不是一个好主意。但我确实推后了顶层类、触发器和页面。每次保存的往返过程都很慢!现在使用源代码控制系统来记录更改,同时也比较版本。

从沙箱部署到生产环境:我放弃了使用UI部署工具。它们适用于简单的事情,但我发现它不能处理更复杂的变化(新对象、选项卡、应用程序、触发器、类、页面、布局)。我将更改一块一块地从沙箱迁移到生产环境。有了三个团队,这意味着你可能需要一个中央团队来部署最终的更改?

有许多方法可以隔离您的系统,包括记录类型。这些代码需要包含硬编码的SF Id或使用字符串来执行查找。在这两种情况下,您都不希望在整个代码中分发这些字符串或ids。想想当你需要重构时的噩梦。相反,创建一个Globals类并将所有硬编码的名称和ids放在这里。至少你可以执行更合理的搜索和替换。

我喜欢科幻小说。有些事情是非常非常容易做的。但有些开发任务似乎需要很长时间。祝好运

票数 5
EN

Stack Overflow用户

发布于 2011-08-10 08:07:58

通常,你希望确保每个人都在一个特定的沙箱中运行自己的代码和配置,这样你就可以确保所有不同的部分都能正确地协同工作,不会造成不必要的影响。记录类型是一种特别方便的机制,因为您可以使用它们来确定在触发器等内部运行哪些逻辑对于特定记录,结合良好的命名方案,人们将知道在某些东西已经存在的情况下将代码放在哪里,例如,在更新之前在帐户上有一个触发器比维护两个触发器更容易。将触发器称为"Account_BeforeUpdate“将让每个人都知道它是什么,所以如果他们需要使用触发器,那么他们可以将代码放入现有的触发器中,只有在需要时才对某些记录类型进行操作。

在部署之前,我总是要做的一件事是在Eclipse中设置生产项目和沙箱,确保它具有我需要的一切(布局等)。然后,您可以使用diff工具来确切地检查沙箱和生产环境之间存在哪些更改,这是非常有价值的知识。然而,这里需要注意的是,在沙箱被切割后,布局等通常会在生产中更新,这意味着您可能必须小心部署它们。

通常,对象是我移动的第一件事,因为API是非破坏性的,所以您可以确保不会从生产环境中删除任何重要字段!

就我个人而言,我真的很期待Salesforce中的一些像样的版本控制,如果你有多个开发人员在同一个领域工作,你总是需要小心,即使它试图防止你覆盖其他人的更改,它已经在我们身上发生过几次。希望这其中有一些有用的东西!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7002401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档