Salesforce ContentVersion と添付ファイル


Salesforce ContentVersion と添付ファイルの説明と移行 (インポート/エクスポート) 手順

+ [Salesforce ContentVersion and Attachments Describe and Migration(Import/Export) Steps](https://jayakrishnasfdc.wordpress.com/2021/07/15/salesforce-contentversion-and-attachments-describe-and-migrationimport-export-steps/)

この投稿では、Attachments、ContentVersion、ContentDocument の非常に明確な違いと理解を説明します。

シンプルな添付ファイル (Classic) <–> ContentVersion (Lightning)

>Salesforce Files は、ユーザが共有および管理できるファイルホームで使用できます。対照的に、レコードへの添付ファイルはレコードからのみ利用できます。ファイルを添付ファイルではなく Salesforce ファイルとしてアップロードしても、ファイルへのアクセスは変わりません。特定のレコードを超えてファイルを共有および管理できるようにするだけです。この設定は Salesforce Classic にのみ適用されます。アップデートを行うには、[セットアップ] -> [一般設定] に移動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/9130fb77-e225-bf25-d098-79f915d11da6.png)

注: Lightning では、機能がオンかオフかに関係なく、[メモと添付ファイル] 関連リストにドキュメントをアップロードすると、ドキュメントは Salesforce ファイルとして追加されます。

# Attachments

ユーザーがアップロードして親オブジェクトに添付したファイルを表します。添付ファイルは Salesforce Classic でのみ機能するようになりました。

#ContentDocument/Link/Version

**Content Document:**
Salesforce CRM Content または Salesforce Files のライブラリにアップロードされたドキュメントを表します。公開できるドキュメントの最大数は 30,000,000 です。このオブジェクト レコードは作成する必要はありません。これは、ContentDocument の子である ContentVersion を作成するときに作成されます。

**Content Version:**
Salesforce CRM Content または Salesforce Files 内のドキュメントの特定のバージョンを表します。つまり、このオブジェクトには、 Attachment と同様の文書情報が格納されます。

**ContentWorkspace:**
Salesforce Content のパブリックライブラリを表します。このオブジェクトは、ユーザー インターフェイスではクリティカル プレフィックス 058 を持つライブラリとしてラベル付けされます。このオブジェクトは通常、バージョン 17.0 以降で使用できます。このオブジェクトは個人ライブラリには適用されません。API を使用してこのオブジェクトにエントリを作成することはできません。


**ContentDocumentLink:**

このオブジェクトは、ユーザー、レコード、グループなどとファイルを共有します。複数のレコードを作成して、さまざまなレコード間に同じファイルを添付できます。このオブジェクトは、ファイルの親 ID を LinkedEntityId フィールドに保存します。
+ [オブジェクト「コンテンツドキュメントリンク」が削除された際Apexトリガーが呼び出されないという事象](https://qiita.com/Keiji_otsubo/items/23e7af70bece19d9244f)


# ファイル、Salesforce CRM Content、Salesforce ナレッジ、ドキュメント、Attachmentsの違い


|トピック|ファイル|CRM コンテンツ|ナレッジ|ドキュメント|Attachments|
|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|
|目的	|クラウド内の Salesforce ファイルをアップロード、保存、検索、フォロー、共有、共同作業します。	|会社の公式ファイルを公開して同僚と共有し、顧客に配信します。	|ナレッジ ベースで記事と呼ばれるコンテンツを作成および管理します 。内部ユーザーと顧客は、必要な記事をすぐに見つけて表示できます。顧客には、カスタマー ポータル、パートナー ポータル、Service Cloud ポータル、または Lightning Platform サイトの人々が含まれます。	|ロゴ、DOT ファイル、その他の Visualforce マテリアルなどの Web リソースを、レコードに添付せずにフォルダに保存します。	|選択した詳細ページの「添付ファイル」関連リストからレコードにファイルを添付します。|
|一般的な用途	|ファイルをアップロードし、共有する準備ができるまで非公開で保存します。ファイルを同僚やグループと共有して、共同作業を行ってフィードバックを取得します。[ホーム] タブ、[Chatter] タブ、プロファイル、レコード、またはグループの Chatter フィードの投稿にファイルを添付します。	|販売プレゼンテーションを作成、複製、または変更して保存すると、自分だけが表示して作業できるようになります。準備ができたら、社内の他のユーザーがアクセスできるように公開します。コンテンツ パックを作成して顧客に送信します。	|[記事管理] タブを使用して記事を作成、編集、公開、およびアーカイブするか、[記事] タブを使用して公開された記事を検索して表示します。Salesforce ナレッジがカスタマーポータル、パートナーポータル、Service Cloud ポータル、または Lightning Platform サイトで有効になっている場合、顧客とパートナーは記事にアクセスできます。Web サイト訪問者が記事を閲覧できるように、公開ナレッジ ベースを作成します。	|ロゴを [ドキュメント] タブにアップロードして、会議出席依頼にカスタム ロゴを追加します。	|イベント、マーケティング キャンペーン、連絡先、ケースなどの特定のレコードにファイルを追加するには、[添付ファイル] 関連リストにファイルを添付します。
サポートされているファイルの種類	全て	全て	全て	全て	全て
最大ファイルサイズ	2GB	2 GB Connect REST API 経由でアップロードした場合は 2 GB (ヘッダーを含む) REST API 経由でアップロードした場合は 2 GB (ヘッダーを含む) SOAP API 経由でアップロードした場合は 38 MB Bulk API 経由でアップロードした場合は 10 MB Bulk API 2.0 経由でアップロードした場合は 10 MB Visualforce経由でアップロード	5MB	5 MB カスタムアプリのロゴの場合は 20 KB	添付ファイルの場合は 25 MB フィードの添付ファイルの場合は 2 GB|
|サポートされているファイルの種類	|全て	|全て	|全て	|全て	|全て|
|最大ファイルサイズ	|2GB	|2 GB Connect REST API 経由でアップロードした場合は 2 GB (ヘッダーを含む) REST API 経由でアップロードした場合は 2 GB (ヘッダーを含む) SOAP API 経由でアップロードした場合は 38 MB Bulk API 経由でアップロードした場合は 10 MB Bulk API 2.0 経由でアップロードした場合は 10 MB Visualforce経由でアップロード	|5MB	|5 MB カスタムアプリのロゴの場合は 20 KB	|添付ファイルの場合は 25 MB フィードの添付ファイルの場合は 2 GB|

# 関連する質問

+ [スマホでメモ＆添付ファイルオブジェクトにや写真をアップする方法について教えていただきたいです。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Pz3KI)

:::note
アイデアには上がっているのですが、対応する予定はないみたいですね。

この中のコメントを呼んでも回避策の提案もありませんでした。デスクトップからは添付出来て、それをモバイルで見ることはできそうなんですが...

Hi all, thank you for your passion for this idea. Today, there are a few things you can do in the Salesforce Mobile App: 1) You can view existing Notes & Attachments. 2) You can view and edit Enhanced Notes. 3) You can view existing Files. There are no plans at the moment to allow users to upload new Files or new Attachments, and attach it to a record, from the Salesforce Mobile App. We'll keep this in mind as we evolve the roadmap and will re-evaluate this against the other priorities we're focused on.

https://ideas.salesforce.com/s/idea/a0B8W00000GdlyOUAR/add-notes-and-attachments-on-salesforce-mobile

メモ & 添付ファイルは古いオブジェクトなので、ファイルを使うしかないと思います。

Salesforce モバイルアプリでのファイル添付の方法
http://salesforce-blog.com/salesforce-mobile-file/

**メモ & 添付ファイルの制限**
+ [メモ & 添付ファイル] 関連リストを介してアップロードされたドキュメント、およびすべての添付ファイルは、Salesforce for Android/iOS からのアクセスは保証されません。
+ [メモ & 添付ファイル] 関連リストの [新規メモ] ボタンは、Salesforce アプリケーションで利用できません。
+[メモ & 添付ファイル] 関連リストのコンテンツはアプリケーションに表示される場合がありますが、Salesforce ではアプリケーションでの表示/ダウンロードを保証していません。
 https://help.salesforce.com/s/articleView?id=000386421&type=1
 :::