« 2014年10月 | メイン | 2014年12月 »

2014年11月に作成された記事

2014年11月17日 (月)

コミュニティの Salesforce1 サポート

こころです。

Spring '14 以降で

・カスタマーコミュニティライセンス
・パートナーコミュニティライセンス
・その他のサポートされるポータル

で、Salesforce1(iOSで確認)アプリケーションが使用できるようになっていました。
時代はもうWinter'15だというのに古いネタ....

<前提>

・公開済のコミュニティがあること(パートナーコミュニティを使いました)
・コミュニティユーザーのプロファイルで、「Salesforce1 for iOS」「APIの有効化」がオンになっていること。(コミュニティ関係のプロファイルではデフォルトで両方オフになっています。)

①接続先へコミュニティドメインの追加(と削除)

Img_5447_2

右上の歯車アイコンをタップして

Image6

コミュニティのURLと、接続先の名前を登録します。
コミュニティのURLは


https://XXXXX-developer-edition.ap0.force.com/login

の、赤字の部分を登録します。

Image7 こんな感じに新しい接続先"Community"が出来ます。

ちなみに接続先の削除は

Image3

右から左にスワイプすると削除できます。(編集ができないみたいですので、ミスしたら削除して再追加。)

②ログイン

Image1
S1でもコミュニティのデザインが適用されます。

Image4

ログイン前にエラーが出たら

Image2

コミュニティユーザーのプロファイルで、「Salesforce1 for iOS」「APIの有効化」のチェックを見なおしてみてください。

なんてことないのですが、図説されてる資料が見つからなかったので設定方法の備忘としてご参考まで。

2014年11月 3日 (月)

Queueableインタフェースを使った非同期処理実行

エンジニアの谷隈です。

Winter'15から導入された新機能Queueableインタフェースについて書きます。


Queueableインタフェースはfutureメソッドと機能的にはすごく似ています。
どちらも非同期に処理を実行する仕組みです。
ドキュメントで謳われている両者の違い、Queueableインタフェースを利用するメリットは次の2点です。

・ジョブIDを取得して、進行状況を監視できる
・ジョブの連鎖が可能(Winter'15時点では2連鎖まで。Spring'15で無制限になる予定。)

次のコードはQueueableインタフェースを実装したクラスの簡単なサンプルです。
非同期に実行したい処理をexecuteメソッドの中に書きます。

public class QueueableExample implements Queueable {
    public void execute(QueueableContext context) {
		String n = 'Queueable_' + DateTime.now().getTime();
        Account a = new Account(Name=n,Phone='(03) 1234-1234');
        insert a;        
    }
}

処理のキューへの登録にはsystem.enqueueJobメソッドを使用します。
キューに入れられた処理の開始タイミングは呼び出し側のトランザクション完了後の模様。

ID jobID = System.enqueueJob(new QueueableExample());
System.debug('jobID = '+ jobID);

1トランザクション中でキューに登録できるジョブ数は50。
ガバナ制限を超えてキューにジョブを登録しようとした場合は、例外が発生します。

System.LimitException: Too many queueable jobs added to the queue: 51

ジョブの進行状況の取得はAsyncApexJobレコードを検索して取得できます。

AsyncApexJob jobInfo 
	= [SELECT Status,NumberOfErrors FROM AsyncApexJob WHERE Id=:jobID];

futureメソッドとの違いで、ちょっと面白いと思ったのはバッチジョブ内からもキューへの登録/実行が可能な点です。(バッチからfutureメソッドを呼び出した場合は例外が発生)
ただ、現時点では制限により1つしかキューにジョブを追加できないので使えるケースはかなり限られそうです。

最近の派手系追加機能と比べるといかんせん地味なQueueableですが、その内容はfutureメソッドからの順当な進化系なので抑えておいて損はない機能だと思います。


リリースノート
http://docs.releasenotes.salesforce.com/ja-JP/winter15/release-notes/rn_apex_queueing_jobs.htm

The New Apex Queueable Interface
https://developer.salesforce.com/blogs/engineering/2014/10/new-apex-queueable-interface.html

採用情報

株式会社フレクトでは、事業拡大のため、
・Salesforce/Force.comのアプリケーション開発
・HerokuやAWSなどのクラウドプラットフォーム上
でのWebアプリケーション開発
エンジニア、マネージャーを募集中です。

未経験でも、これからクラウドをやってみたい方、
是非ご応募下さい。

フレクト採用ページへ

会社紹介

  • 株式会社フレクトは、
      ・認定コンサルタント
      ・認定上級デベロッパー
      ・認定デベロッパー
    が在籍している、セールスフォースパートナーです。
    また、heroku partnersにも登録されています。
    herokuパートナー
    株式会社フレクト
    Salesforce/Force.com
    導入支援サービス
    弊社の認定プロフェッショナルが支援致します。
    ・Visualforce/Apexによるアプリ開発
    ・Salesforceと連携するWebアプリ開発
    も承っております。
    セールスフォースご検討の際は、
    お気軽にお問合せください。

Twitter

リファレンス

■Developer's Guide(リファレンス)
・Apex  HTML | PDF | 日本語PDF | ガバナ制限
・Visualforce  HTML | PDF
・Web Services API  HTML | PDF | 日本語PDF
・Bulk API  HTML | PDF
・REST API  HTML | PDF | 日本語PDF
・Metadata API  HTML | PDF
・Migration Tool  HTML | PDF
・AJAX Toolkit  HTML | PDF
・Data Loader PDF | 日本語PDF

■早見表 (日本語)
数式
Apex
Visualforce
Web Services API
Chatter