【JavaScript】プリミティブ型

概要 本記事は、JavaScriptにおけるプリミティブ型にはどのようなものがあるかを整理したものとなります。 プリミティブ型とは プリミティブ型とは、プログラミング言語の仕様に用意されている最も基本的なデータ型となります。 JavaScriptにおけるプリミティブ型 JavaScriptにおけるプリミティブ型には、下記の種類があります。 Boolean type Null type Undefined type Number type String type Symbol type Boolean type

Continue reading

Salesforceのメールサービスを実装する方法

概要 本記事は、Salesforceのメールサービスを実装する方法を簡単に記載します。 ちなみにメールサービスとは、「Apexクラスを使用して受信メールを処理する自動化されたプロセス」という機能となります。 具体的には、Webサイトやフォームで受け付けた内容をSalesforceへメールとして送信することで、メールの情報を元にApexのプログラムでオブジェクトにレコードを作成したりすることができるものとなります。 作成手順 Messaging.InboundEmailHandlerインターフェースを実装したApexクラスを作成 まずは、メールサービスに必要となるInboundEmailHandlerの実装クラスを作成します。このクラスでhandleInboundEmailメソッドを使用して、InboundEmail オブジェクトにアクセスし、受信メールメッセージの内容、ヘッダー、および添付ファイルの取得と、その他多数の機能を実行します。 下記のサンプルコードでは、受信したメールの内容を元にケースを作成しております。また、受信メールアドレスが一致する取引先責任者があれば、リレーションをはるような考慮もいれております。 メールサービスの作成 メール受信時に呼び出すApexを指定してメールサービスを作成します。 メールアドレスを追加 作成したメールサービスに対して、送信先となるメールアドレスを作成します。 設定するメールアドレスの部分が@より前の部分になり、ドメインは作成時に自動で生成されます。 ■注意点 「コンテキストユーザ」に設定するユーザが、Apexの実行ユーザとなるのでApex内でアクセスするオブジェクト(今回はケースオブジェクト)を更新する権限がないと、オブジェクト登録のApexがエラーになります。 設定完了、メールアドレスの確認 作成したメールアドレスを確認します。 実際にメールを送信して確認 今回のサンプルプログラムでは正常に動作した場合は、メールの件名、本文でケースが作成されているはずです。エラーが発生した場合は、送信元のメールアドレスにメールが届きます。

Continue reading

【JavaScript】コールスタックとは

概要 本記事では、JavaScriptのコンセプトであるコールスタックについて整理します。 コールスタックとは コールスタックは、JavaScirptを実行するインタプリタ(WebブラウザのJavaScriptインタプリタなど)が複数の関数を呼び出すスクリプト内の場所を追跡するためのメカニズムです。 JavaScriptの実行は、基本的にはシングルスレッドによるヒープと単一のスタック呼び出しから構成されます。 基本原則は以下となります 1. シングルスレッド。つまり、一度に一つのことしかできないということ。 2. コード実行は同期的。 3. 関数呼び出しは一時メモリを占有するスタックフレームを作成。 4. LIFO – 後入れ先出しデータ構造として機能。 処理の流れ スクリプトが関数を呼び出すと、インタプリタはそれを呼び出しスタックに追加してから、その関数の実行を開始します。 ↓ その関数によって呼び出されたすべての関数は、さらに呼び出しスタックに追加され、それらの呼び出しに到達した場所で実行されます。

Continue reading

リストビューにおけるクイックアクションの一括実行

概要 本記事では、リストビューで選択したレコードに対して、用意したクイックアクションを実行することで、通常はレコード単位に行う操作が一括で実行できるようにする方法を記載します。 設定方法 クイックアクションを作成 まずは、オブジェクトのクイックアクションを作成します。 この例では、商談オブジェクトのフェーズ項目を更新するクイックアクションを作成します。 リストビューにクイックアクションを追加 検索レイアウトのリストビューに作成したクイックアクションを追加する。 リストビューでクイックアクションを実行 リストビューにボタンが追加されて、複数行を選択してクイックアクションが実行できることを確認します。 まとめ 本記事で記載した方法を使うことで、標準機能でリストに対して一括で操作を加えるような機能を実現できるようになります。 ぜひ参考にしてみてください。

Continue reading

[Salesforceデザイナー資格]Sharing and Visibilityデザイナー合格まで

概要 本記事では、Salesforceデザイナー資格のSharing and Visibilityデザイナー試験を受験して合格するまでに勉強した内容を簡単にまとめます 試験範囲 試験範囲については、リリースごとに変わる可能性があるので最新を確認する必要があります。 私が受験した時は、Winter’19でしたので、下記の内容となります。 http://tandc.salesforce.com/examguide_cert_sharing_visibility_designer.pdf 宣言的共有(67%) ・与えられた特定の顧客シナリオに従って、異なるタイプの情報へのユーザアクセスを許可および制限するために必要となる、該当するオブジェクトおよび項目レベルセキュリティ設定の適切な使用および制限について説明する ・与えられた特定の顧客シナリオに従って、適切なデータアクセス権をしかるべきユーザに付与する宣言的プラットフォームセキュリティ機能のすべてに必要な関連設定を説明する ・適切な表示およびコラボレーションの要件が満たされるように、取引先チームの使用事例を適切に評価し、取引先チームを実装する能力を示す ・セキュリティに関する考慮事項に留意しながら、グループやロールなどのセキュリティ機能を使用して、異なるグループにビューとフォルダを効果的に区分する方法を示し、レコードレベルのセキュリティに関する考慮事項とどのように異なるかを示す ・与えられた特定の顧客の組織階層に従って、レコード共有に対するロール階層の影響を説明する ・外部ユーザが関与する与えられたシナリオに従って、異なるタイプのコミュニティユーザ (社内、顧客コミュニティ、パートナーコミュニティなど) に適切にレコードを表示するために、セキュリティおよび共有設定をどのように利用できるかを説明する ・特定の顧客シナリオに従って、より複雑なセキュリティ要件に対処するために、Territory Management 2.0

Continue reading

プロファイルのオブジェクト権限「すべて表示」が主従関係で親レコードに連動するか

概要 本記事は、親子の主従関係がある2つのオブジェクトがある場合に、プロファイルで親のオブジェクト権限に「すべて表示」や「すべて変更」が付与されていると、子レコードのデータアクセス権限が親レコードに連動するかどうかを検証してみた結果となります。 ※動作確認は、Developer Editionで行なっております。 検証結果 連動されました。 つまり、プロファイルのオブジェクト権限における「すべて表示」「すべて変更」はレコードのアクセス権が付与されており、主従関係の親に「すべて表示」「すべて変更」が付与されていれば子にアクセス権が継承されるようです。 参考 https://help.salesforce.com/articleView?id=users_profiles_view_all_mod_all.htm&type=5

Continue reading

Community Cloudのライセンス選定とレコードの共有について

概要

本記事は、SalesforceのCommunity Cloudにおけるライセンスの選定とそれぞれにおけるレコードの共有方法を簡単に整理したものです。

ライセンスの選定

まず、前提ですが、外部ユーザとしてログインを必要としない、認証されていない (ゲスト) ユーザ向けの公開知識ベースとしてコミュニティを使用する場合は、コミュニティライセンスを購入しなくても構築することができます。(Enterprise 組織、Performance 組織、および Unlimited 組織である必要有り…

Continue reading

VSCodeを用いたSalesforce開発で使用するExtension

VSCodeを用いたSalesforce開発で使用するExtension 従来のSalesforceのApexやVisualforceの開発では、Force.com IDE(Eclipse)やMavensMate(SublineやAtom)がローカルの開発環境として使用されていました。現時点(2019年3月)でこれからの開発環境は、VSCodeのExtensionを用いるのが標準となります。本記事では、VSCodeでSalesforceの公式のExtensionについて紹介します。 ソースコード VSCodeのExtesionは、OSSとなっておりGitHubに公開されております。 https://github.com/forcedotcom/salesforcedx-vscode Salesforce Extension Pack 結論からいうと、Salesforceの公式のExtensionは、いくつかありますがこれをインストールすると他の7つのExtensionもインストールされます。 https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode VSCodeの設定(事前準備) ・Salesforce CLIを下記のリンクの手順で導入する。 https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup ・A Salesforce DX project でローカルプロジェクトを作成する。

Continue reading

Qiitaの記事をWordPressへ連携

Qiitaの記事をWordPressへ連携 元々本ブログ以外でQiitaで書いていた記事もいくつかあったので、QiitaからWordPressへ連携できるようにしてプログ側では全ての記事が参照できるようにしましたので、その方法を記載します。 プラグインのインストール FeedWordPressのプラグインをインストールします。 FeedWordPress QiitaのRSSフィード(ユーザ)のURLを追加 FeedWordPressのSyndicated Sitesに下記の形式でURLを追加します。 https://qiita.com//feed.atom 更新を手動実行 FeedWordPressのSyndicated Sitesで追加したサイトの「Update Now」を押下します。 各記事のFeatured Imageを変更 各記事のFeatured Imageを手動で変更します。 (※多分もっと効率の良い方法があるはずです。) 参考 Qiitaの記事をWordPressブログに同期できるようにしてみた

Continue reading

VisualforceとApexにおけるタブ情報の取得

VisualforceとApexにおけるタブ情報の取得 Visualforceでは、JavaScriptの処理でAJAX Toolkitを使ってSOAP APIをコールしてアプリケーションとタブ情報を取得します。 取得されるアプリケーションは、ログインユーザが使用できるアプリケーションが対象となります。 Apexでは、Schema.describeTabs メソッドでDescribeTabSetResultを取得して、getTabs()によりアプリケーションごとのタグ情報を取得します。 サンプルコード Visualforce Apex 参考 AJAX Toolkit Developer Guide – Connecting to the API

Continue reading