在Salesforce Org上转移用户



我有一个要求,在salesforceorg上的用户是停用的(I。E用户离开了组织),我必须检索所有与用户相关的作业,如调度1. 报告和指示板2. 顶点类3.数据导出/导入等。我还需要停用工作流程和所有依赖于该用户。我必须用一些脚本自动完成所有这些任务。

如何处理这个任务?

你为什么把它标记为javascript?

计划作业(包括报告导出)将在设置页面上可见,因此这是一个屏幕抓取解决方案。这些数据也应该在CronTrigger表中可用。据我所知,这个表不支持更新,所以你只能用SELECT来检测它们,这将是一个手动操作来杀死它们,并安排不同用户的新任务。

数据导出-我想每周只有1个导出服务是可能的?恐怕是手动检查/屏幕抓取。或者您的系统管理员团队将收到作业失败的通知,因为用户处于非活动状态。

工作流(实际上是电子邮件更新)和代码中硬编码的引用:我会在Eclipse中运行搜索(或使用任何其他元数据API工具下载文件)。

审批过程:这曾经是痛苦的,现在它们也是元数据的一部分。


编辑

你曾经使用过Force.com IDE吗?它是一个主要针对开发人员(程序员)的工具,但系统管理员也可以使用。它可以检索整个Salesforce项目(对象定义、字段、类、页面布局、工作流规则、共享规则……),也可以对它们进行更改,并将它们从一个环境移动到另一个环境。如果要部署更大的更改集,使用IDE可能比单击创建更改集更快。它本质上是Eclipse的一个插件-为用Java编写的程序员提供的工具。

还有其他可用的元数据API工具。根据您需要编写脚本的程度,您可能会放弃Eclipse,转而使用Migration Tool,因为它可以从命令行运行项目检索,然后您可能会使用一些XML解析器来搜索您的用户……但是现在我推荐Eclipse,因为它更简单、更直观。(旁注:数据加载器可以用于类似的事情-搜索所有记录所述用户拥有并将其转移到新的所有者。元数据是关于你的配置,数据库中的表等,而不是关于存储在这些表中的实际记录。

无论如何:下载IDE并点击创建新项目(这可能会有所帮助,至少检查一下图像)。例如,您需要下载workflows目录的全部内容。这个带有复选框的页面将最终为您生成一个名为package.xml的主文件(该文件将在迁移工具中以完全相同的方式工作)。它可能有几个节点,但其中应该包含"工作流"。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <!-- Some other stuff, depending what you clicked -->
    <types>
        <members>*</members>
        <name>Workflow</name>
    </types>
    <!-- Some other stuff (in alphabetical order) -->
    <version>26.0</version>
</Package>

完成下载(稍后你可以右键单击"src"文件夹到"Force.com ->从服务器刷新")。你将看到你所有的工作流定义,并且必须对它们进行搜索。我不会帮助你使用XML解析器;)但是在Eclipse中,Ctrl+H应该带来全局搜索(Ctrl+F将只搜索打开的文件)。

示例工作流定义文件(在创建一些自定义对象的新记录时,它从查找中提供的Account复制值):

<?xml version="1.0" encoding="UTF-8"?>
<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
    <fieldUpdates>
        <fullName>Copy_XXX_From_Account</fullName>
        <field>XXX__c</field>
        <formula>TEXT(Account__r.XXX__c)</formula>
        <name>Copy XXX From Account</name>
        <notifyAssignee>false</notifyAssignee>
        <operation>Formula</operation>
        <protected>false</protected>
    </fieldUpdates>
    <rules>
        <fullName>copy</fullName>
        <actions>
            <name>copy</name>
            <type>FieldUpdate</type>
        </actions>
        <active>true</active>
        <formula>ISNEW() || ISCHANGED(Account__c) || ISCHANGED(XXX__c)</formula>
        <triggerType>onAllChanges</triggerType>
    </rules>
</Workflow>

您最感兴趣的工作流将看起来不同。<rules>标签仍将存在(触发条件),但您可能会寻找<emailalerts>或任何名称的节点,我不记得了。

查阅元数据API指南了解更多信息。例如,我还不能在我的沙盒中看到它,因为我还没有升级到2013年夏季版本,但我知道很快就可以下载审批过程定义。支持的类型列表如下:http://www.salesforce.com/us/developer/docs/api_meta/Content/meta_types_list.htm

审批过程页面包含一个示例XML,您可以为它准备搜索。

最新更新