2013年12月24日火曜日

リードの「取引の開始」をSalesforce1アプリにパブリッシャーアクションで追加する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Salesforce1に変わっても相変わらずリードの取引先変換が無い!!!とIdeaExchangeでも取り上げられています。

ちょっと前に「カレンダーをSalesforce1に追加する方法」を見たのでインスパイアされてパブリッシャーアクションを簡単に作ってみました。

Visualforceページを作る

こんな感じで、先ほどのカレンダーのやつまるパクリです。
{!id}でリードのIDを埋め込んで、isdtp=nvでヘッダなどを隠してます。

リードにアクションを追加

上のVisualforceページを指定します。

レイアウトに追加

リードのレイアウトに作成したアクションをドラッグ&ドロップして追加。

iPhoneのSalesforce1アプリから使ってみる

標準の画面を無理矢理埋め込んだだけなので画面サイズがアレですが…とりあえず使える様になりました!
video

※ネタが無かったのでForce.com Advent Calendar 2013不参加予定でしたが急遽プチネタができたので遡っての参加です

2013年9月8日日曜日

Salesforce Developer Conference Tokyo 2013 (Mini Hackレポート)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Salesforce.comの開発者向けイベント、Salesforce Developer Conference Tokyo 2013行ってきました。

去年のCloudforceでもあったMini Hack、今回は豪華賞品を揃えて全4問で再登場したの挑戦しました。なんと4問提出で、抽選で1名なんとDreamforceツアーご招待。

4問の課題は以下の内容:

とりあえず簡単そうなものから…と思って課題流し読みして、Aからやろうと思ったらTreaure Dataのアドオン追加がなぜかエラー…。Kからやることに。

課題K「Heroku Platform APIをつかってHerokuを操作しよう!」

要は、最近公開されたPlatform APIを試してみてね、という課題Platform APIのチュートリアル通りにコマンドラインからcurlでAPIの動作を確認すればOK。
一部、チュートリアルのコマンド例そのままだとContent-Type: application/jsonヘッダが足りなくてエラー出てたので報告しときました。
Heroku使った事あれば簡単すぎますね。

まだTreasure Dataのアドオンが追加できなかったので次はH。

課題H「Mobileアプリケーションを作ってみよう!」

こちらも数ヶ月前にリリースされたMobile Packを試してみてね、という課題。Mobile Packを使用して取引先の一覧を表示するモバイル用ページを作ればOK。
jQuery mobile, AngularJS, Backbone.js, Knockout, appery.io, Sencha, Xamarin, Codiqaと多数のフレームワークに対応してる様です(半分くらい知らない)。
とりあえず普段使っているAngularJSでやろうとサンプルコードを落としてきて動かしてみるが、app.jsとかを静的リソースに突っ込むのが面倒そうで、jQuery mobileに変更(@a_kurataniさんがjQuery mobileでやったら簡単だったと言ってたのでw)。
サンプルコードの取引先責任者の一覧表示するVisualforce Pageを覗いてみるとJSに直にSOQLが…。オブジェクト名と項目名だけ変えておしまいですね。

@mino0123さんのツイートを見て、アドオン追加が復活してるっぽかったのでAを再開。

課題A「Treasure Dataアドオンを使ってみよう!」

Treasure DataのHerokuアドオンを試してみてね、という課題
とりあえず課題シートの指示通りにデモアプリをgithubからcloneして、コマンドラインからアドオン追加、プラグイン追加、デプロイをしてみます。
デモアプリをブラウザで開いても、Hello World!が出るだけで動きが分からないのでソースを追ってみると、アクセスの都度裏でTDにログを送る様です。
「サンプルアプリを修正して画面の表示を変更してください」って画面の修正だけで本当にいいのか気になりながら、変更するところはタイトルくらいしか無かったのでHello World! をHoge Hoge! みたいに書き換えて聞いてみたらこれでOKw(TD関係ないじゃん)
ちなみにRubyを全然書いたことがないので初めて.erbファイルをさわった(デモアプリはsinatra)。

3問でMBA狙いにしようかと思ったけど時間あったから4問目も挑戦。

課題C「オフラインHack - SmartStore」

Mobile SDKを使ってオフライン対応のアプリを作れ、という課題と勝手に解釈。
SmartSyncがBackbone.js使われてるとか基調講演で聞いたので、ちょっと難易度高いかなーと思って思い込んで避けてたやつ。
Mobile SDKは前に落として試してたけど、念のため最新版をgit pull。
iOS版のサンプルアプリをXcodeからとりあえず動かしてみて、問題を良く読んでみると…「提出方法:サンプルの動作が画面で確認できたら、お声掛けください」
始める前に、終わってた。
@yonet77さんがサンプルコードでビルドエラーが…て困ってたのでちょっと見てみたら、最近iOS7対応したときに見覚えのある定数が。github上のmasterがすでにiOS7対応されてて、β版Xcodeじゃないとヘッダ足りなくて動かないので、β版Xcode5持ってない場合は古いリビジョン取り直さないとダメという罠

4問解いておいて、Dreamforceにするか、MBAにするかギリギリまで迷ったけど、@yonet77さんがDreamforceに1人目で申し込んだので、このままだと確定で面白くないなーということで同じくDreamforceに申し込んだら、なんと抽選当たってしまいました!

Developer Conference参加自体も直前で決めたのに、なんか申し訳ない…

最後に、傾向と対策

  • なんか難しそうだけど課題の意図はとりあえず手を動かしてさわってみてね、という所だと思うのでチュートリアルレベル。とにかくやってみる
  • git, herokuは使えて当たり前? 環境は整えておく
  • ノートパソコンの電源アダプタは持ってくる(電池切れた…て人がちらほら)

課題カードが無くなるの早かった割には、参加者少なかったんじゃないかな…
あと提出方法、応募方法が分かりにくかったという声も…
SDUG(Salesforce Developer User Group)に参加してると最新情報に強くなれますよー、とちょっと宣伝で締めにします。