Tag Archives: salesforce

[salesforce][DevOps][CI] CasperJSを利用したキャプチャ取得

By |12月 10, 2013|CI, DevOps, Javascript, salesforce, |

Force.com Advent Calendarの10日目として執筆させて頂きました。

CasperJSは前に当ブログでも紹介したphantomJSやSlimerJSといったヘッドレスブラウザの上で動作するユーティリティです。
今回はwindows環境にさくっとセットアップを行い動かしてみました。

インストール方法は他サイトが多数ありますので詳細は割愛させて頂きますが、phantomjs.exeとcasperjs.batをダウンロードしてパスを通しただけです。(本家にはpythonが必要とあり試したPCにもインストールされています)
今回は下記ステップをシミュレートしています。
1.Salesforceにログイン
2.ダッシュボードタブをクリックしダッシュボードページに遷移し
3.ダッシュボードヘッダーのキャプチャを取得(更新前)
4.更新ボタンをクリック
5.ダッシュボードヘッダーのキャプチャを取得(更新後)
基本的にSalesforceページのタグに付与されているid/classを利用してページの操作を行っています。
ポイントとしてはSalesforceではアカウントを作成した後、別IPなどでログインを試みると確認コードによる認証が必要となります。
なので最初の起動では確認コードの送信処理のみを行います。
メールで確認コードを取得したら–checkcodeパラメータに確認コードを渡して再度起動します。
キャプチャでは特定の部品のみ指定する事が可能なので、今回は更新時間の違いを確認するためダッシュボードヘッダーの部分のみキャプチャしました。
またLinux環境でも上記コードを利用して試してみましたが問題なく動作しました。
(Linux環境では日本語の文字化け対応のためIPAフォントをインストールしました。)

今回はお試しで動かしてみましたが、Salesforce自体のメンテナンス時などはガイダンスなどが表示されるため、起動部分にはもう一工夫必要です。今度Salesforceのメンテナンスのガイダンスが確認できた際に試してみたいと思います。

Read More

[salesforce] GoInstant API + force.com でブラウザ共有

By |12月 5, 2013|Javascript, salesforce, |

Dreamforce’13 で発表された Salesforce1 API の中に GoInstant API というものがあります。GoInstant とはブラウザ共有サービスです。以下の2つのフォームを別タブで開いて片方のタブのフォームを編集してみると、もう片方に編集内容がリアルタイムに共有される、というのが基本です

Read More

[salesforce][SPA][AngularJS] AngularJS+force.comでSingle Page Application

By |11月 6, 2013|Javascript, salesforce, SPA, |

さて、前回の[salesforce][SPA] force.comでSingle Page Applicationの続きとして今回はAngularJSを活用する例をご紹介します。作成するアプリケーションの仕様としては取引先の一覧画面があって任意の取引先名をクリックすると詳細画面が開くという、Salesforce標準のViewから詳細画面のような流れを実装してみます

Read More

[salesforce] Force.com SitesをCNAMEで独自ドメイン運用

By |10月 22, 2013|Force.comでWeb制作, salesforce, |

force.com Sitesで独自ドメイン運用すること自体は以前から可能でしたが、ドメイン管理機能としてSite.comなどのドメイン管理と統合されたことにより設定方法が変わりました。基本的に独自ドメインのネームサーバにCNAMEレコードを登録し、force.com側へカスタムドメインとして登録する流れは変わりませんが、以前はforce.com Sites設定にあったカスタムドメイン設定がドメインのマスタ管理的な機能に移行しています

Read More

クラウドビジネス参入記(2): Salesforce案件と既存SI案件との違い

By |9月 24, 2013|CI, DevOps, 未分類, |

弊社はSalesforce界隈へ参入する以前はWeb開発を主なビジネスとしていました。自社の営業支援のために導入したSalesforceがWeb技術によりカスタマイズ可能なことを好機と感じSalesforce導入支援ビジネスへ参入しました。そして1,000件以上の案件に携わらせていただいた結果、Salesforce界隈での導入案件は以下の特徴が挙げられると思います

Read More

クラウドビジネス参入記(1): クラウドインテグレータになるということ

By |9月 18, 2013|未分類, |

まず、我々はクラウドインテグレータの定義を以下だと考えています。クラウドサービス提供者とエンドユーザを仲介し契約締結する
クラウドサービスを導入/運用するエンドユーザを支援するこの定義だけ見ますとクラウドならではの業態ではありません。既存ビジネスとしてパッケージベンダの導入パートナーなどは同じようなビジネスだと思います

Read More

[salesforce] レコードIDでのDescribeとId.valueOf()の仕様変更

By |8月 22, 2013|salesforce, |

管理パッケージの開発を行う際は名前空間への対応が面倒に色々と考慮が必要ですが、対応策のひとつにレコードIDのみでDescribeを行い、対象レコードのオブジェクト情報を動的に取得しつつ動的クエリを実行する手法があります。例えば以下のような単純化したソースで記します

Read More

[salesforce][DevOps][CI] Grunt(grunt-force)を使ってforce.comへデプロイ

By |8月 8, 2013|CI, DevOps, Javascript, Node.js, salesforce, |

Gruntはいわゆるデプロイツールと呼ばれるツールです。デプロイツールとは端的に言いますとデプロイに必要な作業を自動化してくれるツールです。force.com開発では「デプロイ、デプロイ」良く言いますので言葉としてそんなに違和感ないと思います。開発チームによっては「デプロイ=修正した内容のforce.comへの転送」と単純な場合はIDEからのデプロイで事足りますが、Javascriptの構文チェックやJSファイルの結合/圧縮、less/scss (sass) + compassでCSSを生成してみたり、デプロイの度にテストを実行したり、バージョン管理をしていたりするチームですとデプロイの度にやることいっぱい!ということになります

Read More

[salesforce] ApexのDatabase.DmlOptionsには気をつけよう

By |8月 6, 2013|salesforce, |

Force.com Apexコード開発者ガイドのp117(131スライド目)から書かれていますがDatabase.DmlOptionsは思わぬところでハマったり、逆に使い方を知ると便利だったりします。以下のブログ記事などはDatabase.DmlOptionsが関連した内容のようです。 [salesforce]APEXから作成したレコードに対して、割り当てルールを実行 Todo作成時のメール通知をApexから行う方法【saleforce】「ケース所有者に新規ケースコメントを通知する」のメールが飛ばないゼイ。以下、それぞれのプロパティの意味をまとめました

Read More

[salesforce] Force.com Sitesで構築したサイトを検索エンジンにインデックスさせる

By |8月 1, 2013|Force.comでWeb制作, salesforce, |

Force.com Sitesでサイトを構築した場合、そのサイトを検索エンジンへインデックスさせるには通常のWebサイト同様robots.txtを置きます。インデックスする・しないの指示はもちろん「特定のディレクトリをインデックスしない」などといった設定も可能です。弊社の構築経験からrobots.txtを設置しないとインデックスされないことが多いように感じます

Read More