nkjmkzk.net

powered by Kazuki Nakajima

Archive for 10月, 2013

Evernote for Salesforceの概要とセットアップ方法

evernote_130930125052

Evernote for Salesforceとは?

Salesforce.comの顧客管理をはじめとするアプリケーションでは、「顧客」「商談」といった会社にとってとても重要なオブジェクトを中心として、そこから関連する情報がつながって保存されていきます。

例えば「顧客」に関連する情報には、担当者、商談、問い合わせ、契約、注文といった情報が紐づきます。

スクリーンショット 2013-10-17 5.29.12 PM

そしてEvernote for Salesforceは、メモと非構造化データ(音声・画像・PDF・オフィス文書)などを一切合切保存し、オブジェクトに紐付けていくアプリケーションなのです。

スクリーンショット 2013-10-17 5.29.40 PM

紐付けは手動でおこえるのはもちろん、関連ノートという機能によってEvernoteが自動的に関連性のある情報をオブジェクトにユルく紐付けてくれます。(僕はこの機能がEvernote for Salesforceではキーになってくると考えています)

セットアップ

公式ガイドにもセットアップ方法は記載されているのですが、英語なのと若干セキュリティ上の懸念点があるので少し修正した手順を紹介しておきます。

AppExchangeからパッケージをインストール

Evernote for Salesforceをお手持ちの組織にインストールします。パッケージは下記URLからインストール可能です。

https://appexchangejp.salesforce.com/listingDetail?listingId=a0N3000000B4QSWEA3

注意すべきはステップ2のセキュリティレベルの選択です。「管理者のみへのアクセス許可」を選択します。

evnt_0

ビジネスアクセスコードの入力

アプリプルダウンメニューから「Evernote for Salesforce.com」を選択、Evernote Adminタブをクリック。ビジネスアクセスコードを入力します。

ビジネスアクセスコードはEvernote Businessの管理コンソールの連携タブにあります。

evnt_bac

ページレイアウトの編集

リード、取引先、取引先責任者、商談にて下記の通りレイアウトを変更してEvernoteセクションを作成します。

  • セクションを一列構成で追加してEvernoteと命名

evnt_section

  • そのセクションにVisualforceページ「EvernoteXXXXPage」を追加

evnt_add_vf

  • Visualforceページの高さを488pxに設定

evnt_edit_vf_area

evnt_vf_height

権限セットの作成と割り当て

権限セットを任意の名称(Evernote for Salesforceなど)で作成しユーザーライセンスは「なし」に設定します。

evnt_create_perm

その権限セットに下記Visualforceページへのアクセス権を付与します。

  • Evernote.EvernoteAccountPage
  • Evernote.EvernoteContactPage
  • Evernote.EvernoteLeadPage
  • Evernote.EvernoteOpportunityPage
  • Evernote.EvernoteCallback

evnt_perm_vf

作成した権限セットをEvernote for Salesforceを利用するユーザーに付与します。

evnt_perm_assign

evnt_perm_selected

これでセットアップは完了です。各ユーザーはリード、取引先、取引先責任者、商談のいずれかのタブを選択するとEvernoteセクションにアクセスすることができます。初回アクセス時は自身のEvernoteアカウントで認証をおこなう必要があります。

evnt_get_started

evnt_signin

認証が完了すると下記のようにノートが表示されるようになります。

evnt_show_notes

Enjoy.

without comments

Written by 中嶋 一樹

10月 17th, 2013 at 5:32 pm

Salesforceとクラウドインテグレーションする新しい方法、Force.com Canvasとは?

Force.com CanvasはSummer’13から正式リリースとなったクラウドインテグレーションのための新しいフレームワークです。

Force.com Canvasは外部アプリを画面ごとSalesforceのユーザーインターフェースに統合することを可能にします。仕組みとしてはiFrameを基礎として構築されていますが、そこにいくつかのエッセンスを加えています。

従来からもiFrameはWebタブやVisualforceの中で利用可能でしたが、Force.com Canvasは下記の点で従来の方式と異なります。

  • 認証フローを簡素化 – iFrameで外部アプリを表示させ、その外部アプリからSalesforceにアクセスさせるにはセッションIDを渡すかOAuthを実施する必要があった。OAuthでは複数のリダイレクトが必要になるが、Force.com Canvasでは外部アプリの認証にSigned Request(署名付き要求)を利用でき、これによってリダイレクト処理が不要になった。
  • 外部アプリの権限を限定 – また、単にセッションIDを外部アプリに渡した場合、外部アプリはユーザーのフルアクセス権限をもつことになる。Force.com Canvasでは外部アプリの権限を必要な範囲のみに限定することができる。
  • アクセスできるユーザーの指定 – 従来、Salesforceの標準機能でiFrame内の外部アプリについてユーザーごとに見せる/見せないの制御はできなかったが、Force.com Canvasでは管理者がどのユーザーにこのアプリの使用を許可するか設定可能。
  • iFrameの動的リサイズ – 元来iFrameは縦横のサイズをあらかじめ指定しなければならない。これによって動的なコンテンツではスペースが余ったり、コンテンツがはみ出して多重にスクロールバーが表示されユーザーエクスペリエンスを阻害していた。Force.com CanvasではiFrameのサイズをコンテンツに合わせて動的に変更するためのツールを提供している。
  • クロスドメイン対応 – ブラウザのクロスドメインポリシーによって、外部アプリからロードしたJavascriptからSalesforceのAPIにアクセスすることはできなかったが、Force.com Canvasではツールキットで組み込みプロキシを提供することにより、この制限を回避することができる。

このForce.com Canvasの概要とGetting Startedの内容をまとめた資料を作成しました。開発時に参考にしていただけるサンプルコードも収録されていますのでクラウドインテグレーションに携わる開発者の皆様、是非一度目を通してみてください。

Force.com canvas入門ガイド from nkjm

without comments

Written by 中嶋 一樹

10月 6th, 2013 at 11:58 am

Posted in Uncategorized

Tagged with

ブログをherokuに移行。

このサイトは自宅サーバで3年ほど、その後AWS EC2に移行して2年半ほど運用してきました。

これまではOSからMySQL, Nginx, php, WordPressとすべて面倒をみてきたわけですが、めっきりサーバソフトを触る機会が減りメンテナンスがおろそかにもほどがある状態になってきたのでブログはherokuに移行することにしました。

移行にあたって3点ほど懸念事項がありました。

  1. JapanインスタンスからUSインスタンスになることによるレスポンス悪化。
  2. WordPressは写真等のメディアをファイルシステムに保存する。herokuで動的にファイルシステムを変更するのは原則NG。これまでのメディア、これからのメディアをどうするか。
  3. herokuはIPアドレスを公開しておらず、xxx.herokuapp.comのドメインをCNAMEで指定することで独自ドメイン設定をおこなうが、このサイトのようにwwwなどがつかない「Naked Domain」とよばれるドメインではDNSの仕様上CNAME設定をおこなってはならないとされている。

1については、レスポンスが低下したのは間違いないですがブログサイトとしてはまず問題ないレベル。逆に、もしこのサイトがうっかり大人気になりすぎたときはherokuの恩恵を受けて即座にスケールアウトできるというメリットがあります。

2については、heroku wordpressで検索すればすぐに先人の知恵がわんさか出てきました。検索トップででてきた下記のブログではビルドパックやメディアのハンドリングをファイルシステムベースからAWS S3ベースに透過的にスイッチする方法を含む網羅的なセットアップ方法がカバーされています。

http://blog.mah-lab.com/2013/05/01/wordpress-on-heroku/

3についは最終的には「サブドメインつけるべき」だと判断しました。DNSimpleやCLOUDFLAREであればNaked DomainでCNAME設定できそうなのですが、アングラな予感がするので。下記サイトの指南通りにNaked Domain、つまりnkjmkzk.netへのアクセスはS3のStatic Web Hostingを利用してwww.nkjmkzk.netにリダクレクトし、www.nkjmkzk.netはCNAMEでherokuのドメインにマップしました。

https://devcenter.heroku.com/articles/route-53

これで一応すべての課題をクリア。herokuのアプリ側ではClearDBのpunchを契約。MySQLに格納されている記事データは久しぶりのmysqldumpコマンドでエクスポート&インポートし、無事に移行を完了することができました。

なんかすっきりしたーー。

without comments

Written by 中嶋 一樹

10月 5th, 2013 at 10:33 pm

Posted in Uncategorized

Tagged with ,