【初期設定】Salesforce プロジェクトアサイン時に行うこと！ 

# 1. Introduction
はじめまして。
某コンサルティングファームでCRMコンサルタントをしている平間です。
新卒から４年以上プログラマーとしてSalesforceに携わっております。

本記事はSalesforce初学者向けのものとなります。
Salesforceのプロジェクトに配属されたけど、何したらいいかわからない！という方に向けて書いてます。
仕事を始めるまでに<font color="red">**最低限**</font>準備しておく内容をまとめましたので、良ければご参考ください。
# 2. 準備する事
プロジェクトアサイン時、最低限準備すべき内容はこちら。

| No. | 章 |
|:-:|:--------------------|
| 1 | [3_1. Salesforceアカウントの作成](#3_1-salesforceアカウントの作成) |
| 2 | [3_2. ★Chrome拡張機能のダウンロード](#3_2-chrome拡張機能のダウンロード) |
| 3 | [3_3. データローダのダウンロード](#3_3-データローダのダウンロード) |
| 4 | [3_4. VS Codeのセットアップ](#3_4-vs-codeのセットアップ) |

# 3. 手順
初期設定に際し、具体的な手順を記載していきます。
初学者でも即戦力としてスタートダッシュ切れる（はず…！）為のガイドラインとなってます。

## 3_1. Salesforceアカウントの作成
後続の準備をする為、Salesforceアカウントを作成してください。
アカウントを作成することで、無料学習ツール「Trailhead」を受講する事ができ、
自由に使える開発環境「Playground」を作成できます。

### 3_1_1. Salesforceのアカウント を作る
所有するメールアドレス（会社のではなく私用アドレスが好ましい）を元に下記のリンクからアカウントを作成する。↓
[アカウント作成リンク](https://trailblazer.me/TrailblazerLogin?&locale=ja)
![無題の画像.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/644257/b1b21a49-f863-377a-5c82-57a5af876cd0.png)

### 3_1_2. Trailhead のチュートリアルをクリアする。
「Trailhead」とは何ぞや？ってのが理解できます。
Salesforceの資格取得にも必須となるので、必ずクリアしましょう！
#### チュートリアル
[Trailhead と Trailblazer Community](https://trailhead.salesforce.com/ja/content/learn/modules/trailhead_basics)
    ＃「Trailhead」の概要とSalesforceの学習の進め方が載ってます。

### 3_1_3. Playground を手に入れる！
自由に使えるSalesforce環境「Playground」を手に入れることが出来ます！
下記のチュートリアルをクリアして下さい！

#### チュートリアル
 [Trailhead Playground の管理](https://trailhead.salesforce.com/ja/content/learn/modules/trailhead_playground_management?trail_id=learn_salesforce_with_trailhead)

## 3_2. ★Chrome拡張機能のダウンロード
超重要！
これさえあれば、初心者に任されがちな作業（設計書作成etc...）とかは何とかなるでしょ！ってのをまとめました。
後続読み飛ばしても良いので、以下Chrome拡張機能は必ずインストールして<font color="red">**使える**</font>ようにしてください！
　＃Chromeのインストールは[こちら！](https://www.google.com/intl/ja_jp/chrome/)
　＃Chrome「拡張機能」って何？って方は[こちら](https://allabout.co.jp/gm/gc/434085/)を一読ください！

 - 拡張機能一覧（3種）

| No. | 機能名 | 使い方ガイド | 概要 |
|:-:|:--------------------:|:--------------------:|:--------------------:|
| 1 | [Salesforce inspector](https://chrome.google.com/webstore/detail/salesforce-inspector/aodjmnfhjibkcdimpodiifdjnnncaafh) | [解説サイト](https://www.sunbit.co.jp/blog/2021/10/21927/)| ブラウザ上でSalesforce上のデータに対しクエリ処理を行える。 |
| 2 | [Salesforce DevTools](https://chrome.google.com/webstore/detail/salesforce-devtools/ehgmhinnhggigkogkbhnbodhbfjgncjf) | [解説サイト](https://www.sunbridge.com/blog/tips/salesforce-devtools/) | Salesforceのデータ構造をExcel形式で出力できる。 |
| 3 | [ウェブページ全体をスクリーンショット - FireShot](https://chrome.google.com/webstore/detail/take-webpage-screenshots/mcbpblocgmgfnpjjppndjkmgjaogfceg) | [解説サイト](https://ferret-plus.com/8061) | 画面キャプチャを取るツール。一部使えないWebページも存在する為、注意が必要。 |

## 3_3. データローダのダウンロード
Salesforce中上級者向けのツール。
Salesforceに関わる上では避けて通れないツールで、お客様向けのマニュアル作成を任されるはずなので使い方はマスターすべき！！

そもそも「データローダ」って何？って方は、[こちら](https://www.sunbridge.com/blog/tips/salesforce-how-to-use-dataloader/)を一読ください！
　＃アドミニストレーター試験の試験範囲！
　＃実務で<font color="red">**かなり**</font>利用する。

インストールには下記２つの作業が必要。

1. データローダを**動かす**ための、「Java」のインストール
2. Playgroundから「Data Loader」のインストール

データローダの詳しいインストール手順は[公式サイト](https://help.salesforce.com/s/articleView?id=000317204&type=1&language=ja)が一番分かり易いのでチェック下さい。

## 3_4. VS Codeのセットアップ
上級者向けのツール。
プログラマー用のツール（エディタ）だが、リリース資材の管理で使用するので、
Salesforce組織から資材をフェッチ出来るようにして下さい。

セットアップ手順は[こちら](https://qiita.com/shunkosa/items/e6248520bff90f397158)

※参考
```資材取得用の「package.xml」(全網羅されているはず！)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
  <types>
    <members>*</members>
    <name>ApexClass</name>
  </types>
  <types>
    <members>*</members>
    <name>ApexComponent</name>
  </types>
  <types>
    <members>*</members>
    <name>ApexPage</name>
  </types>
  <types>
    <members>*</members>
    <name>ApexTestSuite</name>
  </types>
  <types>
    <members>*</members>
    <name>ApexTrigger</name>
  </types>
  <types>
    <members>*</members>
    <name>AuraDefinitionBundle</name>
  </types>
  <types>
    <members>*</members>
    <name>StaticResource</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomApplication</name>
  </types>
  <types>
    <members>*</members>
    <name>ApprovalProcess</name>
  </types>
  <types>
    <members>*</members>
    <name>AssignmentRule</name>
  </types>
  <types>
    <members>*</members>
    <name>AuthProvider</name>
  </types>
  <types>
    <members>*</members>
    <name>CallCenter</name>
  </types>
  <types>
    <members>*</members>
    <name>Community</name>
  </types>
  <types>
    <members>*</members>
    <name>ConnectedApp</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomApplicationComponent</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomMetadata</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomPermission</name>
  </types>
  <types>
    <members>*</members>
    <name>Dashboard</name>
  </types>
  <types>
    <members>*</members>
    <name>DataCategoryGroup</name>
  </types>
  <types>
    <members>*</members>
    <name>Document</name>
  </types>
  <types>
    <members>*</members>
    <name>EmailTemplate</name>
  </types>
  <types>
    <members>*</members>
    <name>EntitlementProcess</name>
  </types>
  <types>
    <members>*</members>
    <name>EntitlementTemplate</name>
  </types>
  <types>
    <members>*</members>
    <name>FlexiPage</name>
  </types>
  <types>
    <members>*</members>
    <name>Flow</name>
  </types>
  <types>
    <members>*</members>
    <name>Group</name>
  </types>
  <types>
    <members>*</members>
    <name>HomePageComponent</name>
  </types>
  <types>
    <members>*</members>
    <name>HomePageLayout</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomLabels</name>
  </types>
  <types>
    <members>*</members>
    <name>Layout</name>
  </types>
  <types>
    <members>*</members>
    <name>MilestoneType</name>
  </types>
  <types>
    <members>Account</members>
    <members>AccountContactRole</members>
    <members>Activity</members>
    <members>Asset</members>
    <members>AssetRelationship</members>
    <members>AssistantProgress</members>
    <members>Campaign</members>
    <members>CampaignMember</members>
    <members>Case</members>
    <members>CaseContactRole</members>
    <members>CaseMilestone</members>
    <members>ChatterActivity</members>
    <members>CollaborationGroup</members>
    <members>CollaborationGroupMember</members>
    <members>Contact</members>
    <members>ContentVersion</members>
    <members>Contract</members>
    <members>ContractContactRole</members>
    <members>ContractLineItem</members>
    <members>DuplicateRecordItem</members>
    <members>DuplicateRecordSet</members>
    <members>EmailMessage</members>
    <members>Entitlement</members>
    <members>EntitlementContact</members>
    <members>EntityMilestone</members>
    <members>Event</members>
    <members>ExchangeUserMapping</members>
    <members>FeedItem</members>
    <members>ForecastingAdjustment</members>
    <members>ForecastingCategoryMapping</members>
    <members>ForecastingOwnerAdjustment</members>
    <members>ForecastingQuota</members>
    <members>ForecastingTypeToCategory</members>
    <members>Idea</members>
    <members>Indicator_Badge__mdt</members>
    <members>Lead</members>
    <members>LeadGen_Reroute_Parent_Queue__mdt</members>
    <members>Macro</members>
    <members>MacroAction</members>
    <members>MacroInstruction</members>
    <members>Opportunity</members>
    <members>OpportunityCompetitor</members>
    <members>OpportunityContactRole</members>
    <members>OpportunityLineItem</members>
    <members>Order</members>
    <members>OrderItem</members>
    <members>PartnerRole</members>
    <members>PersonAccount</members>
    <members>Pricebook2</members>
    <members>PricebookEntry</members>
    <members>Product2</members>
    <members>ProfileSkill</members>
    <members>ProfileSkillEndorsement</members>
    <members>ProfileSkillUser</members>
    <members>QuickText</members>
    <members>Quote</members>
    <members>QuoteLineItem</members>
    <members>RecordAction</members>
    <members>RequestsForAccessSIQ</members>
    <members>Scorecard</members>
    <members>ScorecardAssociation</members>
    <members>ScorecardMetric</members>
    <members>ServiceContract</members>
    <members>Site</members>
    <members>SocialPersona</members>
    <members>Solution</members>
    <members>StreamActivityAccess</members>
    <members>StreamingChannel</members>
    <members>Task</members>
    <members>Topic</members>
    <members>TopicAssignment</members>
    <members>User</members>
    <members>WorkBadge</members>
    <members>WorkBadgeDefinition</members>
    <members>WorkOrder</members>
    <members>WorkOrderLineItem</members>
    <members>WorkThanks</members>
    <members>*</members>
    <name>CustomObject</name>
  </types>
  <types>
    <members>*</members>
    <name>Letterhead</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomObjectTranslation</name>
  </types>
  <types>
    <members>*</members>
    <name>PermissionSet</name>
  </types>
  <types>
    <members>*</members>
    <name>PostTemplate</name>
  </types>
  <types>
    <members>*</members>
    <name>Profile</name>
  </types>
  <types>
    <members>*</members>
    <name>Queue</name>
  </types>
  <types>
    <members>*</members>
    <name>QuickAction</name>
  </types>
  <types>
    <members>*</members>
    <name>RemoteSiteSetting</name>
  </types>
  <types>
    <members>*</members>
    <name>ReportType</name>
  </types>
  <types>
    <members>*</members>
    <name>Workflow</name>
  </types>
  <types>
    <members>*</members>
    <name>Report</name>
  </types>
  <types>
    <members>*</members>
    <name>SiteDotCom</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomSite</name>
  </types>
  <types>
    <members>*</members>
    <name>Scontrol</name>
  </types>
  <types>
    <members>*</members>
    <name>Settings</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomTab</name>
  </types>
  <types>
    <members>*</members>
    <name>Translations</name>
  </types>
  <types>
    <members>*</members>
    <name>CustomPageWebLink</name>
  </types>
  <types>
    <members>*</members>
    <name>Role</name>
  </types>
  <types>
    <members>*</members>
    <name>SamlSsoConfig</name>
  </types>
  <version>52.0</version>
</Package>
```

# 4. 最後に
お疲れさまでした！
Salesforce**初学者**に求められる仕事は、以上の準備を済ませれば困る事はないと思います。

しかし、今後ともSalesforceに携われるのであれば、下記のTrailMixに<font color="red">**必ず**</font>チャレンジしてください！
仕事で求められる知識をを最低限網羅されているものとなっています。
　＃Salesforce認定資格であるアドミニストレーター試験の試験範囲でもあります。

 - [Salesforce新規参画者用(設定編’20)](https://trailhead.salesforce.com/ja/users/welcome2695/trailmixes/salesforcerookies-settings-2020)
 - [Salesforce新規参画者用(開発編)](https://trailhead.salesforce.com/ja/users/welcome4027/trailmixes/salesforce-new-person-developer)

また、社外の勉強会として毎週土曜日に[「Salesforce Saturday」](https://www.trailblazers.jp/community-group/salesforce-saturday-japan)が開催されてます。
[connpass](https://connpass.com/dashboard/)経由で申し込みでき、著者も参加しているのでSalesforceで困った事があればご参加ください。