dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

follow us in feedly

Salesforce

[Salesforce]Winter'19: Apex Replay Debuggerの使い方

昨日の Meetup の内容をブログにもまとめておきます。本当はこっちを事前に公開したかった。 なお Meetup で話したときの LT 資料はこちら。 Apex Replay Debugger とは Winter'19 リリースノート:Apex Replay Debugger を使用してすべての組織を無料でデバ…

[Salesforce]UserRecordAccessでレコードの参照・編集権限をチェックする

こんなことやりたい Apex で SOQL を実行してレコードを取得するとき、実行ユーザが編集権限のあるレコードだけ返したい。 このとき、レコードに対し参照権限だけあると SOQL では取得できてしまうため適宜フィルターする必要がある。 先にまとめ UserRecord…

[Salesforce]ワークフローの時間ベースのアクションについて

今さらながら時間ベースのワークフローを使うことがあったのでメモ。 時間ベースのワークフローとは ここのこと。 時間ベースのワークフローで何ができる? 時間ベースじゃない方のワークフローアクションだと、ルール条件に一致した場合レコードの作成また…

[Salesforce]ApexでPermissionSetの"PermissionsXXX"項目の一覧を取得

ちょいメモ。 参考:PermissionSet | SOAP API 開発者ガイド | Salesforce Developers Permissions... から始まる項目がいくつかあるらしいので、Apex で項目一覧を取得してみる。 調べ方 以下を開発者コンソールの Execute Anonymous で実行。ログをダウン…

[Salesforce]代理承認者機能の使い方

まとまってるドキュメントが見つからなかったのでメモ。 代理承認者とは Salesforce の承認プロセス機能において、承認者の代わりに申請を承認/却下できる人を設定できる機能 ユーザに対して一人だけ代理承認者を設定しておくことができる また承認プロセス…

LDSとdesign-system-reactをBabel&webpackな環境に導入する

メモ。 ちょっと前から Lightning Design System(LDS)の React 実装が公式から出てます。 Design System React Components で、ようやく入れてみようとドキュメントを頼りにやってみたところ色々手こずったので、手順をまとめておきます。 はじめに design…

[Salesforce]Packaging 2.0(第二世代パッケージ)を試してみた

この記事は Salesforce Platform Advent Calendar 2017 の 3 日目の記事です。 はじめに アドベントカレンダーなので「私の Salesforce 情報収集術!(2017 年冬)」とかでお茶を濁そうと考えていたんですが Winter'18 で Packaging 2.0 がベータ版となり、…

Salesforce DXのコマンドをzshで補完する

メモ。 Salesforce DX の CLI はコマンドが長いのでシェルで補完してくれる関数ないかなーと思っていたら公式ではないけどあった。 Salesforce DX aliases and shell completions for working with sfdx in zsh and vim · GitHub これの sfdx_completion.zsh…

[Salesforce]フロー(Visual Workflow)でルックアップ項目を実現する

メモ。 SWTT 2017 のミニハック で個人的に宿題になってたやつです。 課題はこれ。 どういった問題があったか 課題では「候補者(Contestant)」と「投票(Vote)」という2つのオブジェクトを用意し、主従関係でひもづけた後 子にあたる「投票」オブジェクト…

[Salesforce]テキスト、テキストエリア、ロングテキストエリア、リッチテキストエリア項目

ちょっとしたメモ。 カスタムオブジェクトのこれらの項目の違いについて。 特にテキストエリア項目とロングテキストエリア項目の違い、あんまりよくわかってなかったので整理しておく。 最初にまとめ 項目 最大文字数 UI 改行入力 項目履歴管理 テキスト 255…

[Salesforce]承認プロセスの「割り当て先として使用するユーザ項目」について

メモです。 承認プロセスの設定で、「割り当て先として使用するユーザ項目」というのが出てくるけどどういう挙動になるのかわからず。 合わせて、その下にある「XXX 所有者の承認者項目を使用」というチェックボックスについても。 公式ドキュメントはこちら…

Salesforce:JavaScript Remoting(@RemoteAction)をPromiseで扱う

はじめに Visualforce で Angular や React などの JavaScript ライブラリを使ったアプリケーションを作ろうと思った場合、 Apex で定義したメソッドの実行には JavaScript Remoting を使うのが一般的かと思います。 似たようなことを実現するための手段とし…

Lightning Utility Barを作ってみた

Spring'17 から利用可能になった Utility Bar を作ってみたので、その手順を残しておきます。 とりあえず Hello, World! と表示するところまで。 こちらの記事が参考になりました。 一応、公式の Implementation Guide とやらもあるみたいだけど、 https://r…

react-lightning-design-systemをVisualforceで使う

件名の通りですが少しハマりどころがあったのでメモ。 普通に react-lightning-design-system を使おうとすると SVG アイコン使用時に Unsafe attempt to load URL エラーが表示されます。 Unsafe attempt to load URL https://zakiyama-dev-ed.my.salesforc…

react-lightning-design-systemのDatepickerを日本語表記にする

メモ。 react-lightning-design-system の Datepicker の月や曜日の部分を日本語にしたい。 locale のようなプロパティはないが、内部的に Moment.js を使っているので以下のようにして変更できた。 (2017/01/20追記) 普通に moment.locale('ja'); だけで…

[Apex]レコードが承認プロセスでロック中かどうか判定する

メモ。 レコードの ID を元に、そのレコードが現在承認プロセスの最中で、かつロックされているかどうか Apex で判定したい。 ここを参考にできた。 apex - Check if a record is in approval process - Salesforce Stack Exchange Approval.isLocked(id) を…

[Salesforce]カスタムオブジェクトのメタデータをCSVに変換する

動機 開発時、特定のカスタムオブジェクトの項目一覧をさっと確認したい。 基本的にメタデータを git 管理しているので、src/objects/MyObj__c.object のようなローカルの XML ファイルをパースして 人が読める形式に加工できれば十分。 Node 界隈のパッケー…

Dreamforce'16 Developer Keynoteのメモ

今年は行けなかったので Dev Keynote だけざっと見ました。 以下、雑多なメモ。 キーワード Lightning Einstein Salesforce DX Lightning Winter'17 以降の新機能についてデモしながら一通り紹介、といった感じ。 (デモは 13:40 頃から) Lightning Data Se…

Summer '16 開発者向けWebセミナー のメモ

Summer '16 開発者向けWebセミナー | Salesforce Developers 割とちゃんと観た。 UI の新機能(Lightning Experience) ホーム画面のカスタマイズ Lightning App Builder で作ったページが(ようやく)LEX とモバイル両方で使用可能 オブジェクトの日付項目…

[Salesforce]オブジェクトの「最近使ったXX」ビューに列を追加する

標準またはカスタムオブジェクトのタブを開いたときに最初に表示される、このリストビューについて。 列のカスタマイズとかどこで設定できるのかなと思って調べてみたメモ。 UI からの設定だけでなく、Force.com Migration Tool でデプロイできるようメタデ…

[Python] HerokuからForce.com REST APIを叩く

というサンプルを作りました。 元々、Heroku から Force.com REST API を叩くサンプルは海外の方が Node.js と Java で作ったものがありまして、それをお手本に Python 版を書いてみたという経緯です。 (Node.js) Salesforce REST APIs – From Zero to Cloud…

gulpとJSforceで構築するLightning Component開発環境

これまで、Lightning Component 開発は Force.com Migration Tool(Force.com 移行ツール) を使っていましたが 将来的なことを考えると JavaScript のグローバル名前空間の問題 をどうにかしないといけません。 つまり Grunt や gulp などのビルドツールを…

PythonのSalesforceライブラリまとめ

nforce の Python 版みたいなのが欲しくてそれらしいライブラリがないか調べていたところ、こちらの記事が大変参考になったので、プラスアルファで自分で調べたものも整理しておきます。 参考にしたサイト PythonのSalesforceライブラリ調べてみた Python an…

Lightning ComponentをLightning Experienceで表示する方法

気になってたんだけど、こちらのスライドに書かれてたのでメモ。 2015/11/9 現在の方法。 Lightingコンポーネントベーシック開発 from Akihiro Iwaya 方法としては2つあるらしい。 Lightning Component タブとして表示 Visualforce に Lightning Compone…

Salesforce Trailhead: Lightning Experience Developmentのメモ

これやってみた。 気になったとこだけかいつまんでメモしておく。 (以下、Visualforce は VF、Lightning Experience は LEX と表記してます) 1. User Interface Development Considerations LEX と従来のユーザーインターフェース(Salesforce Classic)と…

Winter'16以降にブラウザでSalesforce1モバイルを開く方法

ちょいメモ。 Winter'16 から Lightning Experience (略称は LEX らしい) が有効になったため、 PC のブラウザで http://ap.salesforce.com/one/one.app にアクセスしても Salesforce1 のモバイル画面が表示されない。 LEX が有効だったら LEX が表示される…

Dreamforce'15に行ってきた〜4日目(最終)〜

9/18(金) Dreamforce 最終日です。 午前のセッションは DevZone に入り浸り状態、午後は Salesforce 本社でのテクニカルセッションに参加してきました。 過去記事一覧 Dreamforce'15に行ってきた〜前日編〜 - dackdive's blog Dreamforce'15に行ってきた〜1…

Dreamforce'15に行ってきた〜3日目〜

9/17(木) の様子です。 Analytics Cloud や Developer Keynote、そして Heroku オフィス訪問について。 過去記事一覧 Dreamforce'15に行ってきた〜前日編〜 - dackdive's blog Dreamforce'15に行ってきた〜1日目〜 - dackdive's blog Dreamforce'15に行って…

Dreamforce'15に行ってきた〜2日目〜

当日中に投稿できなかったんですが、9/16(水) Dreamforce 2日目に関するレポートです。 マーク・ベニオフの基調講演と、Lightning Design System (SLDS) 、そして SalesforceIQ などの話を中心に。 過去記事一覧 Dreamforce'15に行ってきた〜前日編〜 - dack…

Dreamforce'15に行ってきた〜1日目〜

さて、いよいよ Dreamforce が開催されました! 忘れないうちに今日聞いてきたセッションの内容などをメモ。 前日の様子はこちら。 Dreamforce'15に行ってきた〜前日編〜 - dackdive's blog 参加したセッション 9:00 - 9:20 Lightning Experience Highlights…