3

カスタムの visualforce ページを作成しました。ここでは、コントローラー クラスで、ユーザーがフォルダーを作成できるようにします。

ユーザーが [OK] (カスタム ボタン) をクリックすると、新しいフォルダーがワークスペースのレコードとして公開されますが、その方法が見つかりません。

どんな助けでも大歓迎です。

4

2 に答える 2

5

最後に、レコードを共有ワークスペースに公開する方法を達成しました。

        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; 

文字列からブロブを作成しましたが、サイズや作成者名など、表示したいすべての情報を含むテーブルを表示できるブロブを作成する必要があります。

アイデアをくれたポールに感謝します。誰かが私の選択したブロブを作成するのを手伝ってくれるかもしれません.

:)

于 2011-07-12T05:38:42.987 に答える
2

スワティ

フォルダを作成し、フォルダを挿入した後、2つをリンクするContentWorkspaceDocレコードを作成する必要があります。オブジェクトへのAPIリファレンスはここにあります。これにより、必要なリンクを設定できるようになります。

ポール

于 2011-07-11T15:58:17.193 に答える