yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

プロファイル設定

f:id:yujiro0320:20190911192439j:plain

プロファイル

salesforce上に置ける重要な概念。

組織に対するプロファイル
ユーザーに対するプロファイルとある。

この概念が重要であり、オブジェクトに対してのログイン規制などに繋がるため抑えておく。

組織のプロファイル

ここでは組織の情報を記録する。

使用する通貨、言語、会社情報、ライセンス契約数など

まず最初に読み込まれる部分.ライセンス購入後はあまりいじる事がない部分。
f:id:yujiro0320:20191112200346p:plain

通貨の設定はレートを決める。高度な設定をクリックすれば、期間ごとのレートの変更も可能となる。

f:id:yujiro0320:20191112200739p:plain

休日、営業時間の設定については、管理者(サポートエージェント)が対応できない日を入れる

f:id:yujiro0320:20191112201101p:plain

会計年度の設定は標準を使うのが一般的。

標準はグレゴリオ暦を使用。
一度カスタム会計を使用すると元に戻す事ができない。

レックスは検索はオブジェクト単位で表示数などを設定する。

クラシックとは違う。

モバイルなどで使用したいなどは接続のアプリケーションを見てみる

f:id:yujiro0320:20191112203408p:plain

ユーザプロファイル

ここでもプロファイル単位でかなり多くの設定をする。
組織レベルでしていた、通貨や国籍などに加え、オブジェクトアクセスなど幅広いだけでなく
非常に重要な部分である。
このプロファイルの設定を誤ると、参照したいファイルが見れないなど、使い勝手の悪いsalesforceになってしまうため、非常に重要である。

標準プロファイル

salesforceで準備。削除する事ができません。

チェックがついていないのがそれにあたる。

プロファイル名 できる事
Chatter External User 招待された非公開のグループのみ
Chatter Free User chatter周りならできる
Chatter Moderator Userchatter プロファイルの管理者
システム管理者 なんでもできる
マーケティングユーザ 標準ユーザー + データーのインポート
ソリューション管理者 標準ユーザー + ソリューション管理
契約 管理者 標準ユーザー + 契約管理
標準ユーザ 普通
参照のみ その名の通り


f:id:yujiro0320:20191112204114p:plain

新規プロファイルの遷移画面

基本標準プロファイルをコピーしてカスタムプロファイルを作る流れ
f:id:yujiro0320:20191112205414p:plain

タブからオブジェクトのアクセス権限の設定

f:id:yujiro0320:20191112205948p:plain

ここのオブジェクトの権限付与がないとどうにもならないので、注意が必要。
車でいう免許見たいなもん。

APEX触れるようにするよなどのシステム権限

f:id:yujiro0320:20191112210358p:plain

ユーザーの無効化

チェック外すとライセンスにあきが作れる
凍結だとライセンスは開かない。

f:id:yujiro0320:20191112211902p:plain

2019年10月25日の決意

今までの方針

勉強していない日も学習忘備録としてブログに記載。
学習をしないといけないと追い込むために実施していた。

アウトプットしたい記事のみをブログに記載する方針に変更

理由その1
エンジニアとして就職が決まり、嫌でもプログラミングと向き合う日々が続くため、ブログで強制させる必要がない。

理由その2
ブログを振り返る時にクソ記事が邪魔に感じた。本当に振り返りたい記事だけをアウトプットしたいと感じ始める、

理由その3
ツイッターで学習忘備録は記載し続けるので、ブログで記載する必要がない

今後の記載について

学習記録はツイッターで引き続き記載していく

学習時間
累計学習時間

ブログは必要な記事のみをアウトプットしていく。

<DAY246>Lightning コンポーネントフレームワークとは

●10/24(木)
●学習日数 246日
●学習時間(本日)3時間
●累計学習時間 1007.0時間
●一日あたりの平均学習時間 4.09時間

f:id:yujiro0320:20190911192439j:plain

Lightning コンポーネントフレームワークとは

Lightning コンポーネントフレームワークとは、モバイルデバイス用およびデスクトップデバイス用の Web アプリケーションを開発する UI フレームワークです。。クライアント側では JavaScript、サーバ側では Apex を使用します。
世の中には様々なWEBフレームワークがある。raisなど。
salesforceではVisualforce が有名。
それと比較しても Lightning コンポーネントは特別。
Lightning コンポーネントはモバイルデバイス上で適切に動作するように特別に最適化されています。

Aura コンポーネントの例

Aura コンポーネントプログラミングモデルを使用した実際の Lightning コンポーネントの例を見ながら、これまで話したことがどのようなものかを説明します。まず、このコンポーネントが画面にどのように表示されるかを次に示します。

f:id:yujiro0320:20191024180819p:plain

<aura:component>
    <aura:attribute name="expense" type="Expense__c"/>
    <aura:registerEvent name="updateExpense" type="c:expensesItemUpdate"/>
    <!-- Color the item green if the expense is reimbursed -->
    <lightning:card title="{!v.expense.Name}" iconName="standard:scan_card"
                    class="{!v.expense.Reimbursed__c ?
                           'slds-theme--success' : ''}">
        <aura:set attribute="footer">
            <p>Date: <lightning:formattedDateTime value="{!v.formatdate}"/></p>
            <p class="slds-text-title"><lightning:relativeDateTime value="{!v.formatdate}"/></p>
        </aura:set>
        <p class="slds-text-heading--medium slds-p-horizontal--small">
            Amount: <lightning:formattedNumber value="{!v.expense.Amount__c}" style="currency"/>
        </p>
        <p class="slds-p-horizontal--small">
           Client: {!v.expense.Client__c}
        </p>
        <p>
            <lightning:input type="toggle" 
                             label="Reimbursed?"
                             name="reimbursed"
                             class="slds-p-around--small"
                             checked="{!v.expense.Reimbursed__c}"
                             messageToggleActive="Yes"
                             messageToggleInactive="No"
                             onchange="{!c.clickReimbursed}"/>
        </p>
    </lightning:card>
</aura:component>

静的 HTML タグとカスタムの Aura コンポーネントタグが混合しています.

Lightning Out を使用して Lightning コンポーネントのアプリケーションを他のプラットフォームで実行する
Lightning Out は Lightning アプリケーションを拡張する機能です。これは、任意のリモート Web コンテナに Lightning コンポーネントを表示するためのブリッジとして機能します。つまり、外部サイト (Sharepoint、SAP など) の内部、またはプラットフォーム上の他の場所 (Heroku など) で Lightning コンポーネントを使用できます。

コンポーネントの定義

helloWorld — コンポーネントバンドル
helloWorld.cmp — コンポーネントの定義
helloWorldController.js — コンポーネントのコントローラ (メイン JavaScript ファイル)
helloWorldHelper.js — コンポーネントのヘルパー (セカンダリ JavaScript ファイル)
helloWorld.css — コンポーネントのスタイル

アプリケーションとは?(拡張子がApp)

コンポーネントについて理解できたので、アプリケーションについて説明することは難しくありません。アプリケーションは単に特殊なコンポーネントです。アプリケーションとは、次の 2 点のみが異なるコンポーネントと考えることができます。

アプリケーションは タグの代わりに タグを使用する。
アプリケーションの場合にのみ開発者コンソールに [Preview (プレビュー)] ボタンが表示される。

コンポーネントの作成

開発コンソールから。トリガーなどと同じように作成する
f:id:yujiro0320:20191025154219p:plain

ここで開ける
f:id:yujiro0320:20191025154257p:plain

対象ファイルを開いた状態で。
ここで削除できる
f:id:yujiro0320:20191025154354p:plain

<DAY245>Salesforce モバイルアプリケーションのカスタマイズ

●10/23(水)
●学習日数 245日
●学習時間(本日)4時間
●累計学習時間 1004.0時間
●一日あたりの平均学習時間 4.09時間

f:id:yujiro0320:20190911192439j:plain

グローバルアクションメニューの設定


見込み客っていうアクションメニューを作成した

f:id:yujiro0320:20191022175319p:plain



どのような手順でするかを見てみる。

手順1

設定→グローバルアクションにて
アクションラベルを作る
f:id:yujiro0320:20191022175638p:plain

このメニューを開いた時に何を表示するかはレイアウトで決める。

初期値もこの画面で決める事ができる
f:id:yujiro0320:20191022175941p:plain


このままでは表示はされない.

手順2

ここでグローバルレイアウトの設定をする
設定→パブリッシャー
f:id:yujiro0320:20191022180147p:plain

オブジェクト固有のクイックアクションメニューの設定

設定は似ている。
オブジェクトマネージャー→ボタン、リンクおよびアクション
新規アクション
f:id:yujiro0320:20191022184142p:plain

表示どうするかの設定
f:id:yujiro0320:20191022184223p:plain

初期値の設定もここでできる
f:id:yujiro0320:20191022184310p:plain

コンパクトレイアウトの設定

f:id:yujiro0320:20191022185152p:plain

ここの部分

オブジェクトマネージャー→コンパクトレイアウト


<DAY244>Big Object について

●10/22(火)
●学習日数 244日
●学習時間(本日)2時間
●累計学習時間 1000.0時間
●一日あたりの平均学習時間 4.09時間

f:id:yujiro0320:20190911192439j:plain

Big Object とは

データが多すぎるという状況に陥ることがよくあります。
そのような場合には、分析する数値はあっても、効果的で効率的に分析することが困難です。
そこで登場するのが Big Object です。Big Object を使用すれば、Salesforce Platform 上で大量のデータを保存して管理することができます。
10 億件以上のレコードでも安定したパフォーマンスを発揮する。

次の 2 種類の Big Object があります。

標準 Big Object

Salesforce によって定義され、Salesforce 製品に含まれるオブジェクトです。項目監査履歴製品に含まれている FieldHistoryArchive は、標準 Big Object の例です。
FieldHistoryArchive を使用すると、最大 10 年分のアーカイブ済みの項目履歴データを保存できるため、監査とデータ保持に関する業界の規制に準拠できます。

カスタム Big Object

[設定] で定義されリリースされます。[設定] でカスタム Big Object を作成し、その定義や項目、インデックスを設定できます。Big Object のインデックスで定義された項目によって、その Big Object の ID と、その Big Object を照会する機能が決まる。

注意事項

Big Object でサポートされるのは、オブジェクトと項目の権限のみです。
Big Object のリリース後は、インデックスを編集したり削除したりすることはできません。インデックスを変更するには、新しい Big Object を使用してやり直します。
SOQL リレーションクエリは、Big Object から標準オブジェクトまたはカスタムオブジェクトへの選択項目リストの参照項目に基づきます (検索条件やサブクエリは使用できません)。
Big Object では、Salesforce カスタム Lightning コンポーネントと Visualforce コンポーネントがサポートされ、標準 UI 要素 (ホームページ、詳細ページ、リストビューなど) はサポートされません

カスタム Big Object の定義

設定→ Big Objectにて新規作成する
カスタムオブジェクト作成する時と同じようなUIのため、迷わない

f:id:yujiro0320:20191021174355p:plain

カスタムオブジェクトを追加していく

f:id:yujiro0320:20191021174648p:plain

こんな感じで必要なレコードを作成する

f:id:yujiro0320:20191021174734p:plain

カスタム Big Object のインデックスの定義(重要みたい)

これは重要です。Big Object のインデックスで定義された項目によって、その Big Object の独自性や、クエリが可能かどうかが決まります。インデックスで定義する項目は、クエリに最も関連する項目にする必要があるため、将来を予測して計画を行う必要があります。項目を定義する順序も重要な考慮事項です。SOQL を使用して Big Object をクエリする場合、インデックスを構成する項目のみを、定義した順序でクエリすることができます。クエリ検索条件で最も頻繁に使用する項目をインデックスの位置 1 に割り当てます。また、クエリ内の項目の位置に応じて、特定の比較演算子のみを使用できます。クエリについては、次の単元で詳しく説明します。

インデックスを定義するときの考慮事項は、次のとおりです。

インデックスには少なくとも 1 個のカスタム項目を含める必要があり、合計で最大 5 個のカスタム項目を含めることができます。
インデックスに含めるカスタム項目は、必須とマークする必要があります。
ロングテキストエリア項目をインデックスに含めることはできません。
1 つのインデックス内のすべてのテキスト項目の文字数の合計が 50 を超えることはできません。
作成したインデックスを編集または削除することはできません。インデックスを変更するには、別の Big Object を作成して新しいインデックスを指定します。

f:id:yujiro0320:20191021174948p:plain

INdexはここから追加

<DAY243>Contact Builder

●10/21(月)
●学習日数 243日
●学習時間(本日)4時間
●累計学習時間 998.0時間
●一日あたりの平均学習時間 4.26時間

f:id:yujiro0320:20190911192439j:plain

Contact Builderとは?

Contact Builder は、連絡先に関するデータの管理に使用する Marketing Cloud アプリ

データが適切に管理されていれば、連絡先と 1 対 1 リレーションシップを築くことが簡単

企業は収集した連絡先情報を使用して顧客との会話をパーソナライズできる

顧客の単一ビューを確立するには、身元識別方法やブランドとインタラクションする場所に関係なく、個人を見分ける必要があります。Contact Builder を使用すると、企業に顧客の単一ビューを提供できます。

f:id:yujiro0320:20191020192650p:plain


Contact Builder へのアクセス手順

Marketing Cloud にログインします。
プライマリナビゲーションバーを見つけます。
[Audience Builder] (1) にカーソルを置きます。
[Contact Builder] (2) をクリックします。

f:id:yujiro0320:20191020193144p:plain

<DAY242>カスタムボタンの設定

●10/20(日)
●学習日数 242日
●学習時間(本日)2時間
●累計学習時間 994.0時間
●一日あたりの平均学習時間 4.26時間

f:id:yujiro0320:20190911192439j:plain

何ができる??

https://i.gyazo.com/037b60cca7467fcae43074bf72da3c12.gif


手順1

カスタムボタンの作成
ここではyujiroのHPのリンクを貼り付けている

f:id:yujiro0320:20191020190128p:plain

手順2(これをしないと表示されない)

ページレイアウトの設定
どこをいじるのかを選ぶ
f:id:yujiro0320:20191020190307p:plain


カスタムボタンをドラッグする
f:id:yujiro0320:20191020190414p:plain