使用apex以编程方式将记录添加/发布到salesforce中的工作空间/库

时间:2011-07-04 07:47:25

标签: salesforce apex-code visualforce

我创建了一个自定义的visualforce页面。 在控制器类中,我允许用户创建文件夹。

我希望当用户单击“确定”(自定义按钮)时,新文件夹将作为工作区中的记录发布,但我找不到如何操作。

感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

最后,我实现了将记录发布到共享工作区的方法:

        ContentVersion doc = new ContentVersion();
        string before = 'Testing base 64 encode'; 
        Blob beforeblob = Blob.valueOf(before);
        doc.Title = title;
        doc.PathOnClient = 'xyz';
        doc.VersionData = beforeblob;
        insert doc;

        doc = [select ContentDocumentId from ContentVersion where id = :doc.id];
        ContentWorkspace shareWorkspace = [select id from ContentWorkspace 
                  where name = :workspaceName limit 1];

        ContentWorkspaceDoc docLink = new ContentWorkspaceDoc();
        docLink.ContentDocumentId = doc.ContentDocumentId;
        docLink.ContentWorkspaceId = shareWorkspace.id;
        insert docLink;

将记录发布到个人工作区:

        ContentVersion doc = new ContentVersion();
        string before = 'Testing base 64 encode'; 
        Blob beforeblob = Blob.valueOf(before);
        doc.Title = title;
        doc.PathOnClient = title;
        doc.VersionData = beforeblob;
        **doc.FirstPublishLocationID = UserInfo.getUserId();**
        insert doc; 

我已经从String创建了一个blob,但我需要创建一个blob,它可以显示一个表格,其中包含我要显示的所有信息,如尺寸和尺寸。作者姓名。

感谢Paul的想法。 也许有人可以帮助我创造我选择的blob。

:)

答案 1 :(得分:2)

斯瓦特

您需要创建文件夹,然后在插入文件夹后创建一个链接两者的ContentWorkspaceDoc记录。您可以找到对象here的api引用。这应该允许您设置所需的链接。