3

我已经更改了我的沙盒组织中用户配置文件的应用程序的可见性,我想将这些更改部署到生产组织。我找不到办法做到这一点,但知道我一定错过了一些东西。有谁知道怎么做?

4

1 回答 1

4

您可以为此使用更改集。对于您部署的任何组件,您可以选择同时为部分或所有配置文件部署配置文件权限。请注意,仅部署与更改集中的组件相关的权限。另请注意,如果您包含配置文件的配置文件设置,该配置文件存在于您的 Sandbox 中,但不存在于您的生产组织中,则会出现错误。

  • 设置->部署->出站更改集
  • 命名更改集,单击保存
  • 在变更集组件下将应用程序添加到变更集
  • 在个人资料设置下添加您想要更新权限的任何个人资料

当前变更集不支持标准应用程序。但是,这可以通过元数据 API 来完成,它增加了使用 v29 检索标准应用程序的能力。您可以使用列表元数据 api 调用来检索标准应用程序的名称,这些名称通常采用以下形式standard__<AppName>,例如standard__Sales. 如果您检索应用程序以及要更改权限的配置文件,则可以部署这些设置。请注意,这还将在源组织中部署对该应用程序的任何更改以及任何常规配置文件权限(即 loginIpRanges、启用 API 等)。

示例包.xml

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>standard__Sales</members>
        <name>CustomApplication</name>
    </types>
    <types>
        <members>MyProfile</members>
        <name>Profile</name>
    </types>
    <version>33.0</version>
</Package>

示例检索到的配置文件 xml

<?xml version="1.0" encoding="UTF-8"?>
<Profile xmlns="http://soap.sforce.com/2006/04/metadata">
    <applicationVisibilities>
        <application>standard__Sales</application>
        <default>false</default>
        <visible>false</visible>
    </applicationVisibilities>
    <custom>true</custom>
    <loginIpRanges>
        <endAddress>255.255.255.255</endAddress>
        <startAddress>0.0.0.0</startAddress>
    </loginIpRanges>
    <userLicense>Salesforce</userLicense>
    <userPermissions>
        <enabled>true</enabled>
        <name>ActivateContract</name>
    </userPermissions>
    <userPermissions>
        <enabled>true</enabled>
        <name>ApiEnabled</name>
    </userPermissions>
    <!-- truncated for brevity -->
</Profile>
于 2012-04-13T01:37:25.040 回答