tyoshikawa1106のブログ

- Force.com Developer Blog -

2015-02-01から1ヶ月間の記事一覧

SFDC:MavensMate for SublimeでAPIバージョンをカスタマイズする方法

MavensMate for SublimeでApexクラスの新規作成などを行った時、APIバージョンが28.0とちょっと古いバージョンで作成されてしまいます。このバージョンですが次の設定でカスタマイズできるようになっています。 メニューからMavensMate→Settings→Userの手順…

レスポンシブWebデザインを読んでForce.comサイト開発の勉強しました

マルチデバイスに対応できるWebサイトの開発方法について勉強しようとレスポンシブWebデザインという書籍を読んでみました。 Bootstrapなどを利用するのではなくCSSを一から記述する形でマルチデバイスに対応する方法について解説されています。 全4章で構成…

SFDC:Apex開発『Visualforce Component』とtype="ApexPages.Action"について

複数のページで使用できる共通部品はVisualforce Componentとして開発することができます。コンポーネント内で完結するような処理の場合は、難しく考えなくても問題ありませんが、コンポーネント内の処理結果をページ側に反映するような場合は少し大変だった…

SFDC:HTMLのコードを元にVisualforceページを開発する際に意識すること

Visualforceページは基本HTMLと同じ考え方で開発できますが、apexタグという独自タグが用意されているのでコピペだけで簡単に移行するということはできません。 基本的にはapexタグは自動でHTMLタグに変換してくれるので、『input type="text"』なら『apex:i…

SFDC:Apex開発『apex:iframe』とrenderAs="pdf"

VisualforceページではrenderAs="pdf"と宣言することでPDF形式に変換することができます。 たまにですがPDF出力用の画面をプレビュー的な感じで表示したい...というようなことがあります。『renderAs=""』と切り替えることで表示させることが可能です。 これ…

SFDC:Apex開発『apex:iframe』とreadOnlyの関係

SOQLでレコード件数を取得して画面に表示する場合、50,000件を超えるとシステムエラーとなってしまいます。 例外として、readOnly="true"と宣言することで50,000件を超える件数を画面に表示することが可能です。 ただし、readOnly="true"を宣言した画面では…

SFDC:Lightningアプリ開発『forceChatter:feed』のTypeで指定できる内容について

『forceChatter:feed』のTypeで指定する内容についての記載が見つからないので、Newsの他に何が指定できるんだ...と探していたのですが、指定できる内容がわかりました。 以下の値を指定できます。 News Bookmarks Company Files Groups Home People Bookmar…

SFDC:Lightningアプリ開発『forceChatter:feed』を試してみました

Spring'15のバージョンアップでLightningアプリ開発で使える新しいコンポーネントがいくつか追加されました。その中の1つ『forceChatter:feed』をDev環境で試してみました。 『forceChatter:feed』ですが「フィード項目を表示する Chatter フィード。Salesfo…

SFDC:『with sharing』と『without sharing』の切り替えによるアクセス権の変化

Apexクラス内では、『with sharing』を宣言することで実行ユーザのアクセス権限のある情報のみ取得するように制御できます。システム権限で実行する場合は『without sharing』と宣言します。 複数のクラスを使用する処理で『with sharing』と『without shari…

Force.com Blogの『Using the Metadata API to Describe Your Objects』を読んでみました

2015年2月12日に海外版 Force.com Blogで公開された『Using the Metadata API to Describe Your Objects』を読んでみました。 JSforceとAngular, Metadata APIについての記事です。 Using the Metadata API to Describe Your Objects - Developer Relations …

SFDC:工数入力アプリをつくってみました

商談に紐付く工数の入力アプリをつくってみました。こんなやつです。 アプリ概要 商談に紐付く工数オブジェクトを登録するための画面です。 選択リストで選択した対象年月の工数一覧を表示します。 年または月の値を変更すると再検索処理を実行します。 保存…

SFDC:【大量データ処理】Apex Batchで一括更新処理を確認してみました

大量件数の処理を行う場合、Apex Batchを使用して対応します。『execute』の処理でクエリ実行件数などはリセットされるのでガバナ制限もほとんど気にしなくていいのですが、気をつけなければならない制限もあると思うので約123,000件の取引先を使って検証し…

SFDC:Limit Classを試してみました

Apexのガバナ制限を確認するために、Limit Classが用意されています。 Limits Class よく使ってたのはクエリの実行数やステップ数ですが、他にもいろいろ用意されていたので全部動かしてみました。 サンプルコードです。 API 30.0の時点でガバナ制限が緩和さ…

Apex開発のテストとエビデンスの話

Apex開発したときはテストクラスを作成して処理が正常に実行されるか確認できますが、画面でどのような操作を行うかなど、ひと目で確認できるようにエビデンスを残すことも多々あります。 例えば、サイドバーに表示するログインユーザの言語を切り替えるリン…

SFDC:Database.DMLOptionsで重複判定

Spring'15で重複管理機能が追加されましたが、ApexでもDatabase.DMLOptionsを使うことで重複管理機能を利用することができます。 サンプルコード Database.DMLOptionsのサンプル ※Gistへのリンクです。 Debug Logでの確認 重複管理の設定 一致ルール 重複ル…

SFDC:AddressクラスとLocationクラスの使い方

今まで住所情報や緯度経度情報を取得したい場合、SOQLで各項目毎に取得する必要がありました。Spring'15でAddressクラスとLocationクラスが追加されたことにより、住所複合項目/地理位置情報複合項目1つを取得することで各サブ項目にアクセスできるようにな…

SFDC:testSetupアノテーションの使い方

Spring'15から@testSetupアノテーションが新しく使用できるようになります。これを利用するとテストクラス内の各テストメソッドで使用できるテストデータを作成することが可能です。これにより処理が効率化されテスト実行時間を短縮することが可能になります…

SFDC:Tooling API - apexManifestの使い方

Spring'15から新たに使用できるようになったTooling APIのapexManifestについてです。apexManifestを利用するとApexクラスとApexトリガのリストを取得することが可能です。 SOQLによるクエリと違い一度のAPIコールでクラスとトリガ、両方の情報を取得できま…

SFDC:Chatter Message Triggerの使い方

Spring'15からChatterMessageのトリガが作成できるようになりました。NGワードを判定したり、送信者にToDoを作成したりといった使い方ができると思います。 ChatterMessageのトリガを開発するにはプロファイルのシステム管理者権限にある『Chatter メッセー…

SFDC:開発者コンソールで試すTooling API

Tooling APIとは開発者向けに用意されたAPIです。ApexCodeの情報を取得したりできます。開発者向けドキュメントを見てみるとこんな感じで使いますとサンプルコードが記載されています。 ひとまず実際に動かしてみないとわからないこともあるのでコピペで動く…

Salesforce DUG Meetup (2015-02-12)に参加しました

2015年2月12日に開催されたSalesforce DUG Meetup #8に参加しました。Spring'15 リリースノートの輪読会ということでForce.com Deploymentの部分で少しお話させて頂きました。 以下、参考資料です。 スライド Salesforce DUG Meetup #8 - Force.com Deployme…

SFDC:Force.com CLIとsublime-lightningプライグインの使い方を勉強しました

ちょっと前にForce.com CLIの使い方を調べてみたり、sublime-lightningプライグインを試してみたりしたのですが、いろいろうまくできていないところがありました。 SFDC:Force.com CLIをつかってみました SFDC:Sublimeを使ってLightning Componentを開発す…

SFDC:Force.com移行ツールの使い方

前回、Force.com移行ツールのインストール方法について確認したので、次は移行ツールの使い方を確認してみました。 ApexコードをSalesforce組織にデプロイ 移行ツールを使用してApexコードをデプロイする方法です。次のコマンドで実行できます。 ant -Dpacka…

SFDC:Force.com移行ツールのインストール方法

Force.com移行ツール (Force.com Migration Tool)とはApache の Ant 開発ツールを使用してApex Codeをデプロイしたり、削除したりといったことが行えるツールです。どのようなツールなのかは一応把握しているのですが、実際に利用したことはなかったのでイン…

SFDC:URLクラスの使い方

ApexではURLクラスを使ってURL情報を取得することができます。 次のURLを対象に上の処理の実行結果を確認してみます。 https://c.ap0.visual.force.com/apex/UrlClassDemo?retURL=/home/home.jsp 実行結果 URLクラスの使い方はこんな感じです。 サンプルコー…

Force.com Enterprise Architecture [Kindle版] を購入してみました

Force.com Enterprise Architecture [Kindle版] を購入してみました。著者はAndrew Fawcettという方で、FinancialForce.comのCTOでForce.com MVPのデベロッパーとのことです。 英語の本なのでサッパリ分からないだろうなと思っていたのですが、価格を見てみ…

SFDC:Sublimeを使ってLightning Componentを開発する方法

Lightning Componentの開発といえば現時点では開発者コンソールからとなりますが、Sublimeを使って開発するためのPluginがGithubに公開されていました。dcarroll/sublime-lightning環境構築にはForce CLIが必要になるみたいです。 詳細はREADME.mdに記載され…

SFDC:Apexトリガーと主従関係の積み上げ集計

主従関係のオブジェクトで従オブジェクトが積み上げ集計に影響無いような条件で更新されたときに主オブジェクトのApexトリガーが実行されるか確認してみました。 こんな感じのトリガーで検証します。 従オブジェクトが新規登録された場合です。 主オブジェク…

SFDC:『apex:actionFunction』を使用するときのポイント

JavaScriptからApexクラスの処理を実行するapex:actionFunctionですが、画面上に必須項目が存在した場合、必須エラーが発生してしまいます。保存処理など必須判定が必要な場合は問題ありませんが、必須判定が不要な場合はエラーにしたくありません。 『apex:…

SFDC:サブタブアプリケーションの使い方

Chatterのプロファイルページのタブ表示を設定できるサブタブアプリケーションの使い方を確認してみました。 この設定は作成→アプリケーションのサブタブアプリケーションで設定できます。 ここでタブの追加、削除を行うことが可能です。 デフォルトで選択さ…