如何将应用程序可见性设置从沙箱中的配置文件部署到生产组织?

时间:2012-04-12 14:58:55

标签: salesforce

我在沙箱组织中更改了用户个人档案的应用程序的可见性,我想将这些更改部署到生产组织。我找不到办法做到这一点但知道我必须遗漏一些东西。有谁知道怎么做?

1 个答案:

答案 0 :(得分:2)

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

  • setup-> deploy-> outbound change set
  • 命名更改集,单击“保存”
  • 在更改集组件下将应用程序添加到更改集
  • 在个人资料设置下添加您想要更新
  • 权限的所有个人资料

目前,更改集不支持标准应用程序。但是,这可以使用Metadata API完成,后者添加了使用v29检索标准应用程序的功能。您可以使用列表元数据api调用来检索标准应用程序的名称,这些名称通常采用standard__<AppName>形式,例如standard__Sales。如果您检索应用程序以及您正在更改权限的配置文件,则可以部署这些设置。请注意,这也会在源组织中部署对该应用程序的任何更改以及任何常规配置文件权限(即loginIpRanges,API Enabled等)。

示例package.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>