Spring '12バージョンが全インスタンスでリリースされました
by Mitsuhiro Okamoto on 2月 13, 2012 at 05:51 午後

Spring '12が日本向けのインスタンス(ap0,cs5)も含めリリースされました。
一部Chatter MessangerやAuth Providers等の機能はまだ有効化されておりませんが、開発者コンソールの新機能Heapdumpや、スキーマビルダーからのオブジェクト操作、Dynamic Visualforce Component等の新機能が利用できるようになっています。
また、開発者向けの新機能webinarも近日開催予定ですので、詳細決まりましたら別途お知らせいたします。
Spring '12リソースページ
http://successjp.salesforce.com/features/2012/01/lt.html
Spring '12 日本語リリースノート(直リンク)
http://successjp.salesforce.com/features/pdf/spring12_release_notes.pdf
Spring 12 開発者向け機能トップ10
by Mitsuhiro Okamoto on 1月 20, 2012 at 04:17 午後
本家DeveloperForceのBlogエントリーにSpring ’12 – Top 10 Developer Features というSpring 12 でリリースされる開発者向け機能の注目Top10があります。こちらはその日本語版となります。
今回のリリースでは色々と興味深い機能が追加されていますので、是非プレリリース環境を試してみてください。
1. SOQL OFFSET (Developer Preview)
SOQLのSELECTステートメントに、結果セットから指定の行数目以降だけを取得するためのOFFSET構文が追加されました。LIMIT構文と合わせて利用します。
例えば、下記SQOLではクエリ結果の最初の100レコードをスキップした最大50の取引先を取得できます。
SELECT Name
FROM Account
ORDER BY Name
LIMIT 50
OFFSET 100
Note : OFFSET構文ではサーバサイドにカーソルを生成するわけではないので、単一のリクエストで取得した結果データに対して機能します。
2. New Chatter Resources (GA)
今回のリリースではChatterにコメントへのLike、コメントへのファイル添付、ブックマークなどの新機能が使いされました。これらの昨日はRESTベースのChatter APIでも同様に利用できます。
3. Schema Builder (Beta)
スキーマビルダーではグラフィカルにデータの構造を確認できる機能ですが、今回のリリースではドラッグ&ドロップによってフィールドやカスタムオブジェクトの生成が出来るようになりました。
4. New Visualforce Components (GA)
Visualforceに下記コンポーネントが追加され、Force.comの機能を様々な用途に利用出来るようになります。
Components for Chatter Answers - カスタマイズされたサポートコミュに作成に利用
Components for Live Agent - カスタマイズされたチャットウィンドウの作成
Component for Chatter - Chatter FeedのUpdateを自身のページへ埋め込み
Component for Social Accounts and Contacts - ソーシャル取引先&ソーシャル取引先責任者をページに埋め込み
5. Simulated Breakpoints (GA)
マルチテナントのクラウド上での開発においての問題は、アプリケーションの実行を一時停止させる事が難しい点です。 “Simulated breakpoints”は実行中ある所定の場所のメモリの状態やヒープダンプをキャプチャすることで、この問題を解決するようににデザインされています。
まず開発者は開発者コンソール上から左側の余白に、ヒープダンプをキャプチャしたい箇所にマーカーをセットするします。この"ブレイクポイント"はコンソールエディタ以外にもHeapDumpsタブでも確認することができます。コードが実行されたタイミングで、ブレイクポイントがヒープダンプをキャプチャします。開発者コンソールからは、ヒープダンプのデータを閲覧したり、検索したり出来るようになっています。
6. Authentication Providers (GA)
この機能を使用することで、SalesforceへのログインをFacebookや他のソーシャルアカウント(Janrainを経由して)で行えるカスタムログインページを作成出来ます。一つの分かりやすいユースケースでは、カスタマーポータルやパートナーポータル、Force.com Sites等で、ユーザ名やパスワードのの入力を行わせたくない場合に利用できます。またこの機能はSalesforce組織をシングルログインさせるのにも利用できます。
7. Dynamic Visualforce Components (GA)
Apex内でVisualforceページへ表示させるコンポーネントをダイナミックに変更することが可能です。例えば下記の例ではユーザのロールをベースに、それに特化したVisualforceコンポーネントだけを表示することができます。
Visualforce Page
<apex:dynamicComponent componentValue="{!accountname}"/>
Apex Controller
public Component.Apex.OutputText getAccountname() {
Component.Apex.OutputText name = new Component.Apex.OutputText();
Name.expressions.value = 'test';
return name;
}
8. Developer Console Enhancements (GA)
開発者コンソールの機能強化もおこなわれます。まずはシステムログが統合され、開発者コンソールからRAWデバッグログを直接参照出来るようになります。これによって非常に大きなログが居るがあった場合に、インタラクティブにログを探すことができます。また、パッケージのサポートが追加されました。そしてRepositoryタブ上からパッケージ内に含まれるアイテム、例えばApexクラスやトリガ、Visualforceページ、コンポーネントやカスタムオブジェクトを見ることができます。さらにVisualforceページやコンポーネントの閲覧及び編集もRepositoreyタブから行え、ソースにはシンタックスハイライト及びオートコンプリートの機能も付いています。
9. REST API Reset Password (GA)
REST APIによってユーザのパスワードを管理出来るようになります。GET Methodでパスワードの失効ステータスを確認したり、POST Methodでパスワードのセット、DELETE methodでリセットを行います。
10. Streaming API Enhancements (Pilot)
今回のリリースではよりフレキシブルにイベント及びデータ変更の通知を行えるようになります。チャンネルを作成の際に、以下の2つの新しいフィールドがPushTopicオブジェクトに付与されます:
NotifyForOperations – どのタイミングでレコードイベントが通知を行うかを定義します。– All、Create、Update
NotifyForFields – どの新規 or 更新のレコードがPushTopicのクエリに対して評価されるかを選択します – All、Referenced、Select、Where
コードコンサルテーション in Cloudforce 2011 Japan お申し込み開始!!
by Mitsuhiro Okamoto on 12月 7, 2011 at 03:51 午後
米国Dreamforceでも人気のサービス「コードコンサルテーション」がCloudforce Japan 2011に登場です。
コードコンサルテーションは、普段セールスフォース・ドットコムにてテクニカルサポートやコンサルティング、エデュケーション等に従事しているエキスパート達が、参加の方の質問や疑問にお答えするサービスです。
エキスパートと1対1で最大30分間が使えますので、通常のブースでは聞けないより込み入った内容や、自社が抱える固有の問題について資料を用いてご相談頂くことも可能です。
例えば、以下の様なご相談をお持ちの方は是非ご活用下さい。
- 自社で開発しているアプリケーションが、正しい設計なのかどうか確認したい
- 基幹システムと連携しているが、正しい連携方法なのか確認したい
- Visualforce + Apexで開発しているが、正しいコーディング手法について聞きたい
- 数式やワークフローを駆使して、コーディングレスで高度なアプリを実現したいが、どの様に行えばよいか知りたい
- Force.comアプリケーションを複数チームで作っているが、バージョン管理と統合テストのアプローチ方法を聞きたい
- 現在開発チームをマネージメントしているが、どの様にプロジェクトを進めたら良いか確認したい
等々、ApexやVisualforce、API等コーディングに関する質問から、AppForceの宣言的開発環境を活用するための相談でも構いません。
普段実際の開発やサポートの現場でコンサルティングの担当者に直接相談できるまたとない機会です。
ご登録は先着順となり、時間や席数に限りがありますので、下記ページよりお早めにお申し込みください!!
Force.com Advent Calendarに参加しましょう!!
by Mitsuhiro Okamoto on 12月 2, 2011 at 06:38 午後
Force.com Advent Calendarが有志によって開始される事になりました。 Advent Calendarとは元々は12/1日から12月25日まで毎日めくってクリスマスを祝うカードですが、これをBlogに見立てて、1日1人づつ順番にForce.comに関する投稿をします。
IT業界では2010年ごろからRubyやPerl等のLL言語コミュニティを中心に行われてきたそうです。
内容はForce.comのTipsや、Force.comへの愛、新機能の要望でもなんでも構いませんので、みなさん是非参加しましょう!!
Cloudforce New York 開催間近!! 2011年11月30日 9:30 〜 (東部時間)
by Mitsuhiro Okamoto on 11月 28, 2011 at 10:40 午後
Cloudforce 2011 Japanは12月14、15日に開催されますが、一足先の11月30日10:00よりCloudforce 2011 New Yorkが開催されます。(日本時間では11月30日24:00からです)Cloudforce 2011 New Yrokも基調講演にはMarc Benioffが登壇し、Salesforce.com Live にてストリーミング配信がされる予定です。
8月末のDreamforceから約3ヶ月、新たに増えたソーシャルエンタープライズの事例や、Herokuを活用した大規模なシステムの紹介など、開発者や先進ユーザにも興味深い内容となっています。ご興味の方は深夜ですが是非御覧ください。
Force.com Labs Application ~ Milestones PM ~
by Mitsuhiro Okamoto on 11月 26, 2011 at 03:12 午後
セールスフォース・ドットコムのスタッフがデモや提案用に作成したアプリケーションを公開して共有する為のプロジェクト、「Force.com Labs」から、Coolなプロジェクト、タスク、予算管理アプリケーション"Milestones-PM"がAppExchangeに公開されています。
アプリケーションのUIは現在英語のみですが、無料のアプリケーションですのでAppExchangeサイトからどなたでもインストールが可能です。Alohaパッケージ版であればProfessional Editionでも動作します。
Milestones-PM - Unmanaged Package
http://appexchange.salesforce.com/listingDetail?listingId=a0N30000003ItrEEAS
Milestones-PM - Aloha Package
http://appexchange.salesforce.com/listingDetail?listingId=a0N30000005tvt6EAA
またMilestones PMのはオープンソースで開発されており、ソースコードはGithubにすべて公開されています。
ForceDotComLabs / Milestones-PM
https://github.com/ForceDotComLabs/Milestones-PM
ご興味のある方は是非お試し下さい。
また現在Visualforceページ等は直接テキストが記述されてますが、日本語化パッチなどもご興味ある方はチャレンジしてみて下さい!
12月2日15:00より、Winter '12新機能 Webinar開催します
by Mitsuhiro Okamoto on 11月 24, 2011 at 12:45 午後
IdeaExchangeでは既にSpring '12のロゴが決定していますが、皆様Winter '12でリリースされた新機能はもうお使いでしょうか?
Winter '12の新機能説明会では、開発者の方に限らずSalesforceの新機能全般をご紹介いたしました。
http://www.ustream.tv/recorded/17724274
この度ひと通りの新機能も全て有効化しましたので、Winter '12でリリースの中から、開発者向けのものにフォーカスして改めてご紹介するWebinarを開催致します。
Cloudforce 20111 Japanを前に、ソーシャルエンタープライズを構成する新しい機能について確認しておく良い機会となりますので、是非ご参加下さい。
開発者向けWinter '12新機能リリースWebinar
http://www.developerforce.com/events/jp_winter_12_webinar/registration.php
新バージョンSpring 12' のロゴ投票が始まっています!!
by Mitsuhiro Okamoto on 11月 18, 2011 at 02:59 午後
資本提携 〜 株式会社シャノン & デジタルコースト株式会社 〜
by Mitsuhiro Okamoto on 11月 15, 2011 at 02:57 午後
本日2つの米セールスフォース・ドットコムとの資本提携のニュースが発表されました。
株式会社シャノン、セールスフォース・ドットコムと資本提携を締結~クラウドプラットフォームHEROKU(ヘロク)上で「バーチャルイベントプラットフォーム」を開発~
http://www.shanon.co.jp/corporation/news/2011/11/heroku.html
デジタルコースト、セールスフォース・ドットコムと資本提携を締結 ~「Force.com」専業ベンダーとして、国内初の資本提携~
http://www.digitalcoast.co.jp/spirit/2011/1115_000044
両社は資本提携以前より、セールスフォース・ドットコムのAppExchangeパートナーとしてマーケットプレイスにアプリケーションを掲載していました。ここでは簡単に両社とそのアプリケーションをご紹介をさせて頂きます。
株式会社シャノン
今回の資本提携でシャノン社はHeroku上でのバーチャルイベントプラットフォームの構築を発表していますが、以前よりリアルイベントも含めたイベント・セミナー管理サービス「SHANON MARKETING PLATFORM」を提供しています。
MARKETING PLATFORMで集客した見込み客は、AppExchangeアプリケーションによってそのままSalesforce CRM上のリードとしてシームレスに取りこめます。今後は前出のバーチャルイベントプラットフォームと合わせて、より強力なマーケティングエコシステムを構築していく事になります。
SHANON MARKETING PLATFORM
http://appexchangejp.salesforce.com/listingDetail?listingId=a0N300000016bX7EAI
デジタルコースト株式会社
デジタルコースト社は、2010年にセールスフォース・ドットコムのAppExchangeパートナーとして、勤怠管理アプリケーション「アッと@勤務 Free」をリリースしました(現在はVerUpし、Free2となっています)。その後原価管理、勤怠管理、経費精算など、ERPのフロントエンド業務が全てForce.com上で可能な「チームスピリット4e」を2011年3月にリリースしています。
アプリケーションはForce.comネイティブに作成されているため、顧客はこのアプリケーションを利用するのに追加のリソース等は全く必要ありません。トライアルを使ったマーケティングや顧客への新バージョンの配信・通知にはISVForceを利用しており、デジタルコースト社自身もオンプレミスなサーバを全く用いずにこのビジネスをハンドリングしています。今後はさらにチームスピリットの機能を拡充して、Force.comアプリケーション群の中で重要な一角を担うようになります。
チームスピリット4e
http://appexchangejp.salesforce.com/listingDetail?listingId=a0N30000003J6KhEAK
Winter ’12リリースノート – 10月31日及び11月7日更新最新
by Mitsuhiro Okamoto on 11月 14, 2011 at 11:44 午後

Winter ’12リリースノート(英語) が11月7日に最新版としてアップデートされていますが、以下の新機能について追記されました。
主にリリーススケジュールの変更ですが、Chatter関連のリリースは顧客とのグループの共有や、プライベートメッセージ等、アプリケーションの利用やプラットフォームとしての可能性を広げる物ですので、是非今一度ご確認下さい。日本語版のリリースノートはプレビュー版ですがこちらにあります:
Chatterグループの顧客– リリーススケジュールの変更
リリース次期が変更となりお待たせしておりましたが、下記のスケジュールこの新機能はリリースされました。
NA0, NA2, NA3, NA4 — 2011年11月9日にデプロイされました
AP0, AP1, EU0, EU1, NA5, NA10, NA11, NA12 — 2011年11月11日にデプロイされました
Free Chatterデータストレージ
Winter ‘12より、Chatterのフィードポスト、トラック変更及びコメントはデータストレージに計上されなくなりました。アップロードされたファイルや写真については引き続きファイルストレージで計上される点はご注意下さい。
Salesforce Chatterは今後もアプリケーションとしても、ソーシャルプラットフォームとしても進化し続けます。
Force.comのセキュリティとサブドメイン
by Mitsuhiro Okamoto on 11月 8, 2011 at 08:27 午後
先日、何故このような事を聞かれたのか皆目検討が付かないのですが、「ログインページがサブドメインになってないと脆弱性なの?」と不安がっている方にお会いしました。
ご安心下さい。もちろんForce.comでも、一年以上前にリリースされたMydomainと呼ばれる機能で任意のサブドメインを設定することは簡単に可能です。
しかし、サブドメインであればセキュリティが強固という概念自体が新たな脆弱性を生みかねません。
視認上見分けがつくだけでセキュリティが守られるほど甘くは有りません。攻撃者は孫悟空の様に攻撃サイトを変化(へんげ)させ、視認上見分けがつかないように騙してくるからフィッシングされてしまうのです。フィッシング対策には、万が一フィッシングされても問題が無い様な、もう少しCoolな方法が必要です。
Force.comではサブドメインだけに頼らない強力なセキュリティ機能を持っています。今回はそちらも合わせて紹介したいと思います。
サブドメインの設定方法
まずサブドメインについてですが、設定画面より管理者設定 -> 組織プロファイル ->私のドメイン にていつでも設定できます。
また、サブドメインとlogin.salesforce.comの並行運用や、Podドメイン(ap.salesforce.comなど)のリンクをクリックした場合の挙動なども規定できます。
Identity Confirmation
Force.comにはIdentity Confirmationという機能がデフォルトで備わっています。これはいわゆる2ファクタ認証(2-factor authentication)と呼ばれるもので、異なる複数の認証方式を用いてセキュリティを高めたものです。
そのため、万が一にフィッシング等でForce.comのユーザ名及びパスワードが漏洩してしまう事態となっても、攻撃者はForce.comにログインすることは出来ません。Identity Confirmationによって初めてアクセスする端末や、今までアクセスの無かったIPアドレスからログインが行われた場合、登録されているメールアドレスや電話番号/SMS(現在パイロット)に送られる確認コードで別途認証を行わなければログイン出来ない様になっているためです。
SAML
またForce.comではSAML2.0を使ったシングルサインオンに対応(IdP,SP双方)しています。自身がIdPとなって別のサービスの認証を一元管理したり、逆にSPとなることで、他のIdPの認証ポリシーに沿ってForce.comへのログインを許可するといった事も柔軟にできます。Microsoft Active Directory Federation ServicesとのSSO等も可能です。
その他のセキュリティ機能
その他にもForce.comには、ユーザのプロファイルごとのIPアドレス制限や、詳細なパスワードポリシー設定、ログイン履歴の監査など、数多くの機能を備えています。
サブドメインや見た目のカスタマイズだけでは、セキュリティを確保し金融機関や名立たるIT企業の信頼を得る事はできません。Force.comではこのように強固なセキュリティ機能と柔軟な設定によって、様々な企業の個別のセキュリティ要件を満たしているのです。
#CFJ11 開発者向けお勧めセッション C-5 〜 Adaptive Development Methodology (ADM) 〜
by Mitsuhiro Okamoto on 11月 7, 2011 at 11:50 午後
CloudForce Japan 2011の参加申し込みが始まっていますが、皆様既にご登録されていますでしょうか?まだの方は既に残席僅かのセッションも出てきておりますので早めにご登録下さい。
開発者向けのトラックはCトラックとなっていますが、こちらではCトラックのセッションを随時ご紹介させて頂きます。
まずはC-5「Adaptive Development Methodology (ADM) ~ Salesforce.com R&Dの大規模アジャイル開発 ~」です。
Salesforce.comでは新機能のリリースをほぼ一定期間(4ヶ月)毎に行っていますが、この様なリリースサイクルを可能にしている秘密が、ADM(Adaptive Development Methodology)と呼ばれるScrumをベースとした独自のアジャイル開発手法です。
今回のCloudforce Japanでは米国R&Dで働くエンジニア(日本人です!!)が来日し、現在実際にR&Dで行われている最新の手法をご紹介致します。ADMはScrumベースである事以外にも、CI(Continuous Integration:継続的インテグレーション)、AutoBuild、Lock the Code Lineなど、様々な特徴を持っています。
エンタープライズにおけるAgile開発の事例や、Salesforce.com R&Dが実際に行なっている手法についてご興味ある方は是非ご参加下さい。特にソフトウェアアーキテクト、プロジェクトマネージャの方々にお勧めです。
Force.com REST とStreaming API 〜 Winter '12リリース 〜
by Mitsuhiro Okamoto on 11月 4, 2011 at 10:03 午後
Spring '11で正式リリースされたREST APIと、現在パイロットリリース中のStreaming APIですが、Winter '12ではいくつかの機能追加及び変更がありました。以下詳細です。
REST APIでバイナリデータサポート改善
REST APIでのバイナリデータ(Blob)アップロードは従来50MBまででしたが(base64エンコード後のサイズ)、Winter '12リリースでは、multipartタイプを使用して500MBまでのblobファイルをアップロード出来るようになりました。
multipart/form-dataで送信されるデータの構造はEmailのraw dataと似た構成になっています。
--boundary_string
Content-Disposition: form-data; name="entity_document";
Content-Type: application/json
{
"Description" : "Marketing brochure for Q1 2011",
"Keywords" : "marketing,sales,update",
"FolderId" : "005D0000001GiU7",
"Name" : "Marketing Brochure Q1",
"Type" : "pdf"
}
--boundary_string
Content-Type: application/pdf
Content-Disposition: form-data; name="Body";
filename="2011Q1MktgBrochure.pdf"
ここにバイナリデータが入る
--boundary_string--
より詳しい情報は最新のREST APIドキュメント(英語)を御覧ください。
Streaming APIのOAuth tokenの扱い変更
Streaming APIのSummer '11リリースでは OAuth Tokenのやりとりにcookieを利用していましたが、Winter '12リリースではHTTP Authorizationヘッダに付与するように変更されました。
Authorization: OAuth sessionId
Streaming APIのcannelのprefixに"/topic/"が付与
Streaming APIのWinter '12でのもうひとつの大きな変更として、Bayeux(CometD)プロトコルで送信されるデータのcannel名には、"/topic/" + PushTopic名が用いられるようになりました。これによって、例えばjQueryのCometDバインドを使った例では以下の様に記述するようになります。
var cometdUrl = 'https://' + window.location.hostname + '/cometd/23.0/';
var auth = 'OAuth {!$Api.Session_ID}';
$.cometd.init({
url: cometdUrl,
requestHeaders: { Authorization: auth }
});
$.cometd.subscribe('/topic/AccountTopic', function(message) {
//ここに受信時の処理を記述
});
Streaming APIにおけるタイムアウトの変更
最後のWinter '12における大きな変更は、セッションタイムアウト値がhandshakes、connects、subscribesのたびにリセットされるようになりました。詳細は最新のSreaming APIドキュメント(英語)に記載されています。
Streaming APIはWinter '12の時点ではパイロットリリースとなっています。実際にDeveloper Editionで試してみたい方はセールスフォース・ドットコムへお問合せ下さい。
Streaming APIはまだ開発途中の機能ですが、リアルタイムなPush通知が実装できるようになるなど、非常に大きな可能性を秘めています。Database.comでも使えるようになる予定ですので、是非ご期待下さい。
今週のForce.com & Herokuファンの方々のTweet
by Mitsuhiro Okamoto on 11月 2, 2011 at 10:34 午後

米国Force.com Blogで連載されている「Tweets of the Week」ですが、ソーシャルメデイア内で、日本語で言及されているTweetも定期的に紹介していこうかと思います。
Twitterをオープンにしている方のみを対象にしていますが、掲載に問題がある場合は@DeveloperForceJまでお知らせください。すぐに対応させて頂きます。
Tatsuo Kudoさん @tkudos - 10月28日のtweet
Seamless Single SignOn with SAML | Dreamforce '11http://developer.force.com/dreamforce/11/session/Seamless-Single-SignOn-with-SAML 16:00 あたり、なんかおもしろいことやってるっぽい。「はい、セッションクッキーどうぞ(会場どっかんどっかん)」とか
PatとChuckが講演しているSAMLのセッションで、実際に自分たちをIdPやSPに見立てて演技しているみたいですね。音声だけなのが悔しい所です。
さんさんさんこ さん @terasan0426 - 10月28日のtweet
自戒も含めて。 研修で同じクラスになった人で、やたらとDBとしてのセールスフォースが変だとか、テクニカルな部分を気にしている人がいる。問題は、そこよりもCRMとしてどうすぐれているとか、業務で想定してる使い方をするのに、ネックになるのはどこかとかそういうとこじゃないだろーか。
素晴らしい考察です!!既知の古いテクノロジとの"違い"ではなく、生産性や要件・業務にどうフィットするかが重要だと私たちも考えています。
きしだ さん @kis - 10月29日のtweet
「Heroku(ヘロク)社の買収について」お!公式にヘロクっぽい 「セールスフォース・ドットコム、Heroku社買収の最終合意に署名」http://www.salesforce.com/jp/company/news-press/press-releases/2010/12/101210-1.jsp
はい。セールスフォース・ドットコム社で使っている公式な日本語名は「ヘロク」です。買収前より古くからHerokuをお使い頂いている方々に色々思いはあるでしょうが、あえて日本語表記する際は「ヘロク」で統一して頂けると幸いです。
他にも多くのTweetがありましたが、今後も定期的にピックアップしてご紹介して行けたらと思います。
Cloudforce 2011 Japan 開催 - 申し込み開始しました
by Mitsuhiro Okamoto on 11月 1, 2011 at 07:11 午後
今年もこの季節がやってまいりました!
2011年12月14-15日、ザ・プリンスパークタワー東京にて、「Cloudforce 2011 Japan」が開催されます。基調講演には米国セールスフォース・ドットコム 会長兼CEOであるマーク・ベニオフが登壇する予定です。
ブレイクアウトセッションでは、Force.comやDatabase.comの開発者向けセッションや、Herokuのエンタープライズ利用に関するセッション、Salesforce.com R&Dが実践するアジャイルメソトロジであるADMについてなど、開発者の方にも有用な内容となっております。
またDeveloper Labと呼ばれるスペースでは、開発者がワークブックを使って実際にコードを確認しながら学べるワークスペース、最新テクノロジをご紹介するデモステーションなどをご用意致します。
Force.com開発者の方、Herokuを実業務で利用したいと考えている方、アジャイル開発の導入を検討するアーキテクトの方などはぜひご参加下さい!!
Cloudforce 2011 Japan
http://cloudforcejapan.com/
Force.com FlowをVisualforceと合わせて使う
by Mitsuhiro Okamoto on 10月 31, 2011 at 07:26 午後
Winter '12リリースでついにクラウドベースのFlow DesignerがBetaリリースされました。Flow Designerを使えば、今まではVisualforceを利用しなければ作成出来なかった、複数画面に渡るウィザードや入力内容によって条件分岐する画面などがコードを書かなくとも簡単に作成・編集できるようになります。
またApexクラスからやVisualforceタグを使ってFlowのコンポーネントへアクセスが可能ですので、Visualforce内にFlowページを埋め込むといったことも可能です。以下はFlowで入力されたCase番号からVFページ上にデータを読み込むサンプルです。
VisualforcePage : caseflow
<apex:page controller="FlowpageController" sidebar="false">
<div style="float: left; width: 400px; padding: 10px;">
<flow:interview name="CaseFlow" interview="{!caseFlow}" reRender="myPanel" />
</div>
<apex:outputPanel id="myPanel" style="float: left; min-width:400px; padding: 10px;">
<apex:pageBlock title="ケース内容">
<apex:pageBlockSection columns="1">
<apex:outputField value="{!sourceCase.ID}"/>
<apex:outputField value="{!sourceCase.CaseNumber}"/>
<apex:outputField value="{!sourceCase.Subject}"/>
</apex:pageBlockSection>
</apex:pageblock>
</apex:outputPanel>
</apex:page>
<flow:interview>タグによってflowをVFページ上に配置できます。このタグはreRender属性を持っているので、フローの遷移時にダイナミックに再描画する箇所を指定できます。
以下はApexコントローラクラスです。
Apex Class : FlowpageController
public with sharing class FlowpageController {
public Flow.Interview.CaseFlow caseFlow {get;set;}
public Case sourceCase{
get{
try{
List<Case> results = [SELECT Id,CaseNumber,Subject FROM Case Where CaseNumber = :caseFlow.vaCaseNo];
if(results.size() !=0){
return results[0];
}
}catch(System.QueryException e){
//just Demo, ignore;
}
return new Case();
}
set;
}
public FlowpageController(){
caseFlow = new Flow.Interview.CaseFlow(new Map<String, Object>());
}
}
こちらではFlow.Interview.<フロー名>というクラスが宣言されている所が確認できます。
エンドユーザの方はForce.com Flowだけを使って画面開発することが多いでしょうが、開発者の方は是非Visualforceともインテグレーションして、より高度な画面デザインにチャレンジしてみて下さい。
日本人 Force.com MVP 第1号 〜 讃岐 行さん 〜
by Mitsuhiro Okamoto on 10月 24, 2011 at 11:25 午前
DeveloperForceコミュニティには、Force.comプラットフォームと開発者コミュニティの発展に大きな貢献をした方を表彰する「Force.com MVP Program」というものがあります。
こちらに今年8月、日本人初の受賞者としてSanuki Ikou(讃岐 行)さんが選ばれました。おめでとうございます!!
Sanuki Ikou : Force.com MVP
http://developer.force.com/mvp_profile_sanuki
讃岐さんを9月にサンフランシスコで開催されたDreamforce 2011にご招待する予定だったのですが調整が付かなかったため、記念の盾や帽子、Blackberry Playbookなどなどを賞品として先日送らせて頂きました。

ご本人からのTweetはこちら
https://twitter.com/#!/i_sanuki/status/127288589125029888
Force.com MVPの選出は今後も継続して行われます。MVPの選出には以下の様な活動を積極的に行っている方が対象となります。
- Force.comテクノロジーをBlogの様なメディアを使って啓蒙
- Force.com Discussion Boardsでの多大な貢献
- Hackathon(ハッカソン)への参加など、テクノロジーへのチャレンジ
- Code ShareやCookBook等、オープンソースプロジェクトへの貢献
- DreamforceやCloudstockでのテクニカルセッションへの登壇など
次はどなたがMVPになるでしょうか!是非チャレンジしてみてください。
Force.comモバイルアプリ事始め(iOS & Android)
by Mitsuhiro Okamoto on 10月 21, 2011 at 12:16 午後
Force.com及びDatabase.comにはiOSやAndroid端末に対応したアプリケーション開発に特化したツールキットが用意されています。
これらのツールキットを使えば、Force.comへのOAuth2認証/認可や、本来は複数のプロセスから構成されるレコードデータの検索や登録といった処理を簡単に実行できます。各プラットフォーム毎の言語でラッピングしているため、すぐにコーディングをはじめられます。
両ツールキットの基本的な使用方法をまとめた記事を公開しましたので、是非御覧ください。
Force.com Toolkit for iOS の基本を学ぶ http://wiki.developerforce.com/index.php/JP:Getting_Started_with_the_Force.com_Toolkit_for_iOS
Force.com Toolkit for Android の基本を学ぶ http://wiki.developerforce.com/index.php/JP:Getting_Started_with_the_Force.com_Toolkit_for_Android
書籍「Force.comのすべて ~設計・開発 実践マニュアル~」発売
by Mitsuhiro Okamoto on 10月 20, 2011 at 03:30 午後
日経BP社より、 テラスカイの今岡純二さん著「Force.comのすべて ~設計・開発 実践マニュアル~」が発売されました。またセールスフォース・ドットコムでも監修をさせて頂いてます。
本書ではForce.com上でアプリケーションを開発するに当たって必要な技術的トピックに加えて、要件定義の手法や非機能要件に対する考え方にまで言及しており、実際に業務でForce.comを使った開発をしている方々は非常に参考になると思います。
また、第10章「Force.comを使いこなす」の章は、ある程度Force.comに慣れた開発者にも意外と知られていないお役立ちTipsが多く収録されているのでお勧めです。
Winter '12ではSiteforceやForce.com Flow、Schema Builderがリリースされるなど、Force.comは常に進化し続けるため全てを網羅するのは難しいですが、プラットフォームの根底部分を開発者としてしっかり理解する上で良い書籍ですので、是非お手に取って(可能であれば購入して:-) )ご覧下さい。
Force.comのすべて ~設計・開発 実践マニュアル~
セキュアコーディングガイドライン日本語版公開
by Mitsuhiro Okamoto on 9月 13, 2011 at 02:29 午後
DeveloperForceグローバルに公開されているコンテンツ「Secure Coding Guideline」の日本語版を公開しました。
セキュアコーディングガイドラインはForce.comでエンタープライズ用途に耐えうるセキュアなアプリケーションを作成する上で必須の知識がまとめられています。
XSS(クロスサイトスクリプティング)やCSRF(クロスサイトリクエストフォージェリ)等のスクリプトによる脆弱性から、SOQL/SOSLインジェクション、Cookies盗用、リダイレクト、SSOセキュリティ等の多岐に渡るトピックを、Apex/Visualforceでのケース以外にもJava、.Net、PHP、Rubyなどから扱う場合にも包括的に解説しています。
AppExchange/OEMアプリケーションのセキュリティレビューにおいても、本ガイドラインへの順守がレビューの対象となっています。
カスタムアプリケーションを開発するSIer、連携アプリケーションを開発するパートナー、企業のセキュリティ担当者など、Force.comに関わる全ての方にお薦め致します。ぜひご一読下さい。
セキュアコーディングガイドライン
http://wiki.developerforce.com/index.php/JP:Secure_Coding_Guideline
Force.comのセキュリティ機能
by Mitsuhiro Okamoto on 7月 4, 2011 at 05:41 午後
Force.comのセキュリティに関する機能をよく理解する上で有効なドキュメント「An Overview of Force.com Security」の翻訳を公開致しました。
Force.com のセキュリティの概要
http://wiki.developerforce.com/index.php/JP:An_Overview_of_Force.com_Security
このドキュメントではForce.comが持つセキュリティ機能の特色について説明しています。
アプリケーションのセキュリティは、ユーザ認証、アクセス方法、データ共有、機能制限など、様々な方法で守られるものですが、このページではForce.comのセキュリティ機能を「ユーザとセキュリティ」「プログラム的なセキュリティ」「Force.com のセキュリティフレームワーク」の3つに分けて解説しています。
これからForce.comを学ぶ方はもちろん、既にForce.comをお使いの方もセキュリティ機能を棚卸しに、ぜひごご参考下さい。
Spring '11でのコンテキストの一本化とガバナの新しい制限
by Kaz Kawamura on 1月 17, 2011 at 03:39 午後
今回の記事は、USのdeveloper forceで先週公開された記事ですが、日本の開発者の方にも有用だと思いますので、翻訳しました。元記事は、こちらの「One Context and New Limits For Governors in Spring ‘11」を参照してください。以下、翻訳です。
このタイトルは一言で言えることではないですが、このSpring '11での変更は、どのトリガが貴重な20のDML文のうちの7つを消費しアプリケーションを落としているかをデバッグログから見つけ出すため、夜遅く他の10人の開発者と電話会議を行っているような開発者の皆さまには喜ばれる変更ではないでしょうか?
Spring '11では、トリガ独自のコンテキストはなくなり、他のコードと同じDMLリミットになります。加えて、制限そのものも150まで上がり、コントローラなどでもいままでの息苦しさが多少緩和されるでしょう。
それだけではありません。SOQLで扱える検索結果の最大行数も10,000から50、000に変更になります。Force.comで開発をしていてうれしいことの一つに、去年制限を回避するためにしていたトリックが毎年過去のものになることです。今年の春はとりわけ大きな一歩でしょう。
詳しくは、リリースWebサイトをチェックして、Spring '11 webinarにてどこが新しくなったかを確認して私たちに直接チャットでご質問ください。
訳者追記
Spring'11でのガバナ制限は、こちらで公開されています。かなりすっきりしたことと、各制限の説明がより詳しくなりました。
Force.com向けにRuby On Railsの環境を準備する
by Kaz Kawamura on 12月 13, 2010 at 04:49 午後
先週のDreamforceで、Salesforce.comがHeroku社を買収することへの合意のニュースが流れました。
米国のForce.com Blogでは、Setting up your Ruby on Rails environment for Force.com という記事が早速投稿されましたので、こちらを皆さまにもご紹介したいと思います。Wikiにも、getting started の記事が公開されていますので、こちらもご参照ください。この記事では、WindowsマシンにRuby on Railsの環境を準備し、force.comにアクセスするまでの簡単な手順を説明します。
Big Picture
環境を作り始める前に、force.comのツールキットがどのようにRuby環境に統合されているかを説明します。Rubyに詳しくない方のために補足すると、Rubyはプログラム言語で、RailsはWebアプリケーションのフレームワークです。Force.com toolkit for Rubyは、Web Service APIを通してForce.com データベースに接続するライブラリ(Ruby用語ではgemと呼ばれます)です。Rubyでは、パッケージマネージメントのためにgem、makeのようにプログラムをビルドするためにrakeなどいくつかのツールが提供されています。
Ruby on Railsの環境をセットアップ
まず、Rubyをインストールしましょう。こちらのサイトからWindows用の実行環境をダウンロードして、インストールすることができます。ダウンロードしたら、インストーラを実行し、RubyコマンドをPATH環境変数に追加するようにしてください。ここでは、c:\software\Ruby192にRubyをインストールしました。
次にコマンドプロンプトを開いて、以下の手順を実行してください。ここでは、いくつかのライブラリをインストールしていきます。
- Rakeのインストール こちらは、後で必要になります。
c:\software\Ruby192 > gem install rake
- Railsのインストール force.comのライブラリが、2.3.8向けにビルドされているために、明示的に、バージョンを2.3.8に指定します。
c:\software\Ruby192 > gem install -v=2.3.8 rails
- hpricotをインストールします。エラーが出たため、プラットフォームを明示的に指定しました。
c:\software\Ruby192 > gem install hpricot --platform=mswin32
- Facetsをインストールします。
c:\software\Ruby192 > gem install -v=2.8.4 facets
- Force.com Ruby toolkitをインストールします。
c:\software\Ruby192 > gem install asf-soap-adapter
ここまでで、Force.comツールキットを利用するRailsプロジェクトを作成するために必要な環境が準備できました。まずは、プロジェクトを作成し、正しくセットアップできたか試してみましょう。
ツールキットのテスト
Railsのプロジェクトを作成します。実行したディレクトリ以下にファイルが作られますので、プロジェクトの置き場所となるディレクトリに移動してから実行してください。
c:\software\RailsExample > rails test
これで、testディレクトリ以下にプロジェクトが作成されます。ここではrailsが生成したファイルの中で2つのファイルを編集する必要があります。
- config\environment.rb - Force.comツールキットへの参照を追加します。このファイルを参考にしてください。
※マルチバイト文字の環境では、さらに、「Encoding.default_external='UTF-8'」をこのファイルの行末に加えてください。 - config\database.yml - 接続先組織のログイン情報を設定する必要があります。salesforce-default-realmという設定エレメントを追加してください。設定が完了すると、このファイルのようになります。パスワードにセキュリティトークンを追加することを忘れないでください。
Force.comに接続する準備ができました。コマンドウィンドウを開き、プロジェクトのトップディレクトリ(先程の例ではtestの下)に移動してください。まずは、コンソールでテストを実行してみます。
c:\software\RailsExamples\test > ruby script\console
※こちらは、実行されるまでかなり時間がかかりますので、少しお待ちください。
ここからツールキットのメソッドを呼べるようになりました。以下のコマンドを入力して、簡単なクエリを実行してみましょう。
>> Salesforce::SfBase.query_by_sql("select name from Account")
セットアップがうまくいっていると、接続先組織の取引先が一覧されるはずです。
Force.comにつながるRailsアプリケーションを構築する準備がこれでできました!
次のステップ
- Wikiの記事からサンプルをダウンロードする。こちらからソースをダウンロードすることもできますし、分散ソースコード管理ツールのgitからダウンロードすることも可能です。gitとgithubについては、こちらをご参照ください。
- Force.comツールキットのソースコードを見てみる。どんなメソッドがあるかを理解するにはsf_base.rbとsf_utility.rbがお勧めです。ツールキットは、githubのこちらから入手できます。
- 実際にアプリケーションを作成し、Herokuにデプロイしてみる。近いうちにこちらもBlogに書ければと思います。
Force.comの開発者にとって、Rubyはなじみが薄いかもしれませんが、この記事がForce.comやdatabase.comと連携するRubyアプリケーションを構築するきっかけになればいいですね。
Force.com REST API 入門
by Kaz Kawamura on 11月 20, 2010 at 02:18 午後
開発者プレビューが始まったREST APIですが、その使い方を一通り学習出来る「Getting Started with the Force.com REST API」というチュートリアルがWikiで公開されています。
このチュートリアルを日本語訳して公開しました。
このチュートリアルでは、OAuth 2.0を使ってアプリケーションがForce.comにアクセスする認可を取り、REST APIを用いてForce.comに蓄積されたデータにアクセスする手順を説明しています。Javaで書かれたサンプルアプリケーションのため、TomcatなどのJavaのWebアプリケーションを実行する環境が必要ですが、Force.com上でのOAuth 2.0とREST APIの使い方がコンパクトにまとまっていますので、こちらを一通りウォークスルーすることにより、これらの技術を効率よく学習できると思います。
この週末はぜひ新しいForce.com REST APIをお試しください!
REST APIの開発者プレビューが開始されました
by Kaz Kawamura on 10月 31, 2010 at 02:53 午後
force.comプラットフォームでは、SOAP APIを提供し、外部のシステムと連携するインターフェースを提供していました。外部システムとの連携用のインターフェースに新しくREST APIが加わります。その開発者プレビューが開始されました。
こちらのページからサインアップしていただくことにより、REST APIが有効化されたDeveloper Editionの組織が取得できるので、開発者の皆さまにはこちらでお試しいただくことができます。force.comのREST APIの詳しい情報は、こちらのページをご覧ください。
force.com REST APIは、以下のようなパスにアクセスすることにより、利用可能です。たとえば、na7上にある組織の取引先オブジェクトにバージョン20でアクセスしたい場合は、https://na7.salesfoce.com/services/data/v20.0/sobjects/Account へアクセスします。
| Resource Name | URI | Description |
|---|---|---|
| バージョン | /
|
利用可能なSalesforce.comのバージョンの概略をリストします。ここには、バージョン、ラベル、そのバージョンのRootへのリンクが含まれます。 |
| バージョンごとのリソース | /vXX.X/
|
特定のAPIバージョンで利用可能なリソースをリストします。各リソースの名前とURIが提供されます。 |
| グローバル情報 | /vXX.X/sobjects/
|
その組織で利用可能なオブジェクトとそのメタデータのリスト |
| SObjectの基本情報 | /vXX.X/sobjects/SObject名/
|
特定のオブジェクトのメタデータ |
| SObject情報 | /vXX.X/sobjects/SObject名/describe/
|
特定のオブジェクトのメタデータの詳細情報 |
| SObject Row | /vXX.X/sobjects/SObject名/id/
|
オブジェクトIDを指定することにより特定のレコードにアクセスします。特定のオブジェクトの情報を取得、更新、削除できます。 |
| SObject Blob取得 | /vXX.X/sobjects/SObject名/id/blobField名
|
特定のレコードの指定したBlobフィールドの値を取得します。 |
| クエリ | /vXX.X/query/?q=soql
|
SOQLクエリを実行します。 |
| 検索 | /vXX.X/search/?s=sosl
|
SOSL検索を実行します。検索文字列はURLエンコードされていなければいけません。 |
ひとまずこのREST APIがどのように動くか見てみたいという方は、AppExchangeにREST Explorerというアプリケーションが公開されていますので、これを自分の組織にインストールし、ここからAPIを動かしてみることができます。
やっと登場したREST APIですが、これを利用することにより、従来のAPIよりも簡単にアプリケーションを作成できます。これにより、複数のサービスを組み合わせて構築するMashUpアプリケーションがエンタープライズアプリケーションの領域にも浸透するのではないでしょうか?
ぜひ皆さんもお試しください!
VMforceのWebinar
by Kaz Kawamura on 9月 2, 2010 at 11:03 午前
来週の木曜日 9/9に「Cloud Computing for Java Developers」というタイトルで、Java Developer向けのVMforceのWebinarが開催されます。こちらは、日本時間の夜10時からなので、日本からも参加しやすい時間です。Java Developerの皆さんにもぜひVMforceを知っていただきたいと思いますので、積極的なご参加、お待ちしています!
申込は、こちらのページからお願いします。
このWebinarは2回シリーズなのですが、第一回は先週の木曜ににすでに開催されています。こちらは、「Spring for force.com Developers」というタイトルです。内容は、Springに関してforce.com Developer向けにご紹介するもの。Java Developerに方ですでにSpringを利用して開発をしている方には少々入門的な内容です。こちらを聞き逃してしまった方、こちらのページでリプレイできますので、ぜひ見てみてください!






