Submit Search
Upload
Salesforce Hack Challenge 2014
•
1 like
•
2,782 views
Taiki Yoshikawa
Follow
Technology
Report
Share
Report
Share
1 of 59
Download now
Download to read offline
Recommended
Salesforce DUG Meetup 2015 新年会
Salesforce DUG Meetup 2015 新年会
Akira Kuratani
EventLogView 20150128
EventLogView 20150128
Ikou Sanuki
Salesforceのハッカソンに参加した話
Salesforceのハッカソンに参加した話
Shunji Konishi
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!
Hironobu Saitoh
Chatter Chrome Extension
Chatter Chrome Extension
Pomu Takeuchi
Salesforceのサイトゲストユーザについて
Salesforceのサイトゲストユーザについて
Taiki Yoshikawa
Apex開発で実現できるSalesforce組織の構築例 - SWTT2019
Apex開発で実現できるSalesforce組織の構築例 - SWTT2019
Taiki Yoshikawa
SalesforceでStartup企業のシステム構築した話
SalesforceでStartup企業のシステム構築した話
Taiki Yoshikawa
Recommended
Salesforce DUG Meetup 2015 新年会
Salesforce DUG Meetup 2015 新年会
Akira Kuratani
EventLogView 20150128
EventLogView 20150128
Ikou Sanuki
Salesforceのハッカソンに参加した話
Salesforceのハッカソンに参加した話
Shunji Konishi
このべん第5回 ConoHaでWordPressのお勉強!
このべん第5回 ConoHaでWordPressのお勉強!
Hironobu Saitoh
Chatter Chrome Extension
Chatter Chrome Extension
Pomu Takeuchi
Salesforceのサイトゲストユーザについて
Salesforceのサイトゲストユーザについて
Taiki Yoshikawa
Apex開発で実現できるSalesforce組織の構築例 - SWTT2019
Apex開発で実現できるSalesforce組織の構築例 - SWTT2019
Taiki Yoshikawa
SalesforceでStartup企業のシステム構築した話
SalesforceでStartup企業のシステム構築した話
Taiki Yoshikawa
Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理
Taiki Yoshikawa
Lightning Experience導入で意識したこと
Lightning Experience導入で意識したこと
Taiki Yoshikawa
ユーザー企業エンジニア目線のForce.com設計手法
ユーザー企業エンジニア目線のForce.com設計手法
Taiki Yoshikawa
Spring'17 - Visualforce & Apex
Spring'17 - Visualforce & Apex
Taiki Yoshikawa
個人取引先でB2C顧客の管理
個人取引先でB2C顧客の管理
Taiki Yoshikawa
Salesforceの導入で押さえておきたいポイント
Salesforceの導入で押さえておきたいポイント
Taiki Yoshikawa
Salesforce Social Studio
Salesforce Social Studio
Taiki Yoshikawa
Summer'16 Apex Code
Summer'16 Apex Code
Taiki Yoshikawa
React Lightning Design System
React Lightning Design System
Taiki Yoshikawa
JSforceではじめるSalesforce APIの世界
JSforceではじめるSalesforce APIの世界
Taiki Yoshikawa
Community Cloud & Force.com Sites
Community Cloud & Force.com Sites
Taiki Yoshikawa
Salesforce DG Meetup Group
Salesforce DG Meetup Group
Taiki Yoshikawa
Salesforce Chatterと社内イベント
Salesforce Chatterと社内イベント
Taiki Yoshikawa
Spring'16 Apex Code 新機能
Spring'16 Apex Code 新機能
Taiki Yoshikawa
Lightningの入力フォーム
Lightningの入力フォーム
Taiki Yoshikawa
Force.comデモ環境つくりました
Force.comデモ環境つくりました
Taiki Yoshikawa
Salesforce Platformの世界
Salesforce Platformの世界
Taiki Yoshikawa
Lightning Component × Lightning Design System
Lightning Component × Lightning Design System
Taiki Yoshikawa
Winter'16 Lightning Component
Winter'16 Lightning Component
Taiki Yoshikawa
Winter'16 Apex Code
Winter'16 Apex Code
Taiki Yoshikawa
More Related Content
More from Taiki Yoshikawa
Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理
Taiki Yoshikawa
Lightning Experience導入で意識したこと
Lightning Experience導入で意識したこと
Taiki Yoshikawa
ユーザー企業エンジニア目線のForce.com設計手法
ユーザー企業エンジニア目線のForce.com設計手法
Taiki Yoshikawa
Spring'17 - Visualforce & Apex
Spring'17 - Visualforce & Apex
Taiki Yoshikawa
個人取引先でB2C顧客の管理
個人取引先でB2C顧客の管理
Taiki Yoshikawa
Salesforceの導入で押さえておきたいポイント
Salesforceの導入で押さえておきたいポイント
Taiki Yoshikawa
Salesforce Social Studio
Salesforce Social Studio
Taiki Yoshikawa
Summer'16 Apex Code
Summer'16 Apex Code
Taiki Yoshikawa
React Lightning Design System
React Lightning Design System
Taiki Yoshikawa
JSforceではじめるSalesforce APIの世界
JSforceではじめるSalesforce APIの世界
Taiki Yoshikawa
Community Cloud & Force.com Sites
Community Cloud & Force.com Sites
Taiki Yoshikawa
Salesforce DG Meetup Group
Salesforce DG Meetup Group
Taiki Yoshikawa
Salesforce Chatterと社内イベント
Salesforce Chatterと社内イベント
Taiki Yoshikawa
Spring'16 Apex Code 新機能
Spring'16 Apex Code 新機能
Taiki Yoshikawa
Lightningの入力フォーム
Lightningの入力フォーム
Taiki Yoshikawa
Force.comデモ環境つくりました
Force.comデモ環境つくりました
Taiki Yoshikawa
Salesforce Platformの世界
Salesforce Platformの世界
Taiki Yoshikawa
Lightning Component × Lightning Design System
Lightning Component × Lightning Design System
Taiki Yoshikawa
Winter'16 Lightning Component
Winter'16 Lightning Component
Taiki Yoshikawa
Winter'16 Apex Code
Winter'16 Apex Code
Taiki Yoshikawa
More from Taiki Yoshikawa
(20)
Salesforceでオフィス資産の管理
Salesforceでオフィス資産の管理
Lightning Experience導入で意識したこと
Lightning Experience導入で意識したこと
ユーザー企業エンジニア目線のForce.com設計手法
ユーザー企業エンジニア目線のForce.com設計手法
Spring'17 - Visualforce & Apex
Spring'17 - Visualforce & Apex
個人取引先でB2C顧客の管理
個人取引先でB2C顧客の管理
Salesforceの導入で押さえておきたいポイント
Salesforceの導入で押さえておきたいポイント
Salesforce Social Studio
Salesforce Social Studio
Summer'16 Apex Code
Summer'16 Apex Code
React Lightning Design System
React Lightning Design System
JSforceではじめるSalesforce APIの世界
JSforceではじめるSalesforce APIの世界
Community Cloud & Force.com Sites
Community Cloud & Force.com Sites
Salesforce DG Meetup Group
Salesforce DG Meetup Group
Salesforce Chatterと社内イベント
Salesforce Chatterと社内イベント
Spring'16 Apex Code 新機能
Spring'16 Apex Code 新機能
Lightningの入力フォーム
Lightningの入力フォーム
Force.comデモ環境つくりました
Force.comデモ環境つくりました
Salesforce Platformの世界
Salesforce Platformの世界
Lightning Component × Lightning Design System
Lightning Component × Lightning Design System
Winter'16 Lightning Component
Winter'16 Lightning Component
Winter'16 Apex Code
Winter'16 Apex Code
Salesforce Hack Challenge 2014
1.
2.
Force.com 募集管理アプリケーション オープンソース賞
3.
名前:吉川 大樹 http://tyoshikawa1106.hatenablog.com/ @tyoshikawa1106 +TaikiYoshikawa tyoshikawa1106 tyoshikawa1106
4.
5.
Salesforce1 Platformの機能を有効活用できている点と コードの公開によりサンプルコードとして活用可能な点が高評価
6.
7.
8.
Force.com サイトの入力フォームから応募者情報を登録します。
9.
画面下側にある登録ボタンで入力した情報を登録できます。
10.
正常に登録されるとメッセージが表示されます。
11.
登録された情報は応募者オブジェクトの詳細ページで 確認できます。
12.
応募者情報が登録されるとApexトリガーで 登録者にメールを送信します。
13.
Apexトリガーのメール送信処理でエラーが発生した場合は、 送信メールエラーログオブジェクトにエラー情報が登録されます。
14.
登録された応募者情報はスケジュールバッチにより、 Chatterフィードに自動共有されるようになっています。
15.
Chatter共有は応募者管理グループに対して行います。 これにより対象のユーザにのみ共有可能です。
16.
Chatter投稿は対象の応募者レコードにも紐付いています。 これにより詳細ページからフィードを確認することも可能です。
17.
Chatter共有処理は応募者オブジェクトの投稿済み項目が チェックありのレコードのみを対象としています。
18.
ダッシュボードでどのような応募者が多いのか簡単に分析できます。
19.
Salesforce1モバイルアプリでモバイル端末から 応募者情報にアクセスできます。
20.
Chatterのアンケート機能やダッシュボードも利用できます。
21.
Salesforce1モバイルアプリ用に 検索画面を用意しています。 以下のスキルを使って開発しました。 ・BootstrapSF1 ・KnockoutJs ・RemoteObjects
22.
検索は前方一致検索です。 レコードを選択すると詳細ページへ 遷移します。
23.
24.
25.
サイトゲストユーザはAPIを有効化することができません。 RemoteObjectsの登場でJSから登録処理が可能になりました。 サイトゲストユーザプロファイル システム管理者プロファイル
26.
サイトゲストユーザでRemoteObjectsによる登録処理を 実行した際に実行権限のエラーが発生しました。
27.
応募者オブジェクトの作成権限を付け忘れていたことが エラーの原因でした。
28.
29.
BootstrapSF1を利用すると『apex:composition』や『apex:include』の タグ読み込み時に一部スタイルが適用されませんでした。 今回はサイトテンプレートの使用を諦めました。
30.
31.
当初、サイトのゲストユーザが応募者を登録したタイミングで、 ApexトリガーからFeedItemオブジェクトをINSERTする予定でした。 管理者ユーザでは正常に実行できましたが、ゲストユーザではエラーとなりました。
32.
管理者権限で実行できるスケジュールバッチで処理することで解決しました。
33.
34.
Chatter API in
ApexはWinter 15のバージョンアップで 一部クラスの使用方法が変更されました。
35.
36.
Chatter API in
Apexのテストでは 『@isTest(SeeAllData=true)』の宣言が必要
37.
38.
Chatter API in
ApexでのChatter投稿は DML処理の扱いになるのでループ内で処理できません。
39.
40.
今回、画面開発ではKnockoutJsを利用しました。 まだ理解できていないことが多かったので思うように動作せず苦労しました。
41.
42.
43.
応募者情報のChatter共有処理で使用するグループ名は カスタム設定に持たせました。 グループ名変更はコードの修正を行わずに対応できます。
44.
カスタム設定の設定種別は階層型を利用しています。 ※組織レベルに定義できれば問題ない為です。
45.
46.
画面に表示するラベルやメッセージなどは カスタム表示ラベルの値を表示するようにしています。 ※JSファイル内では使用できません。
47.
48.
テストクラス内で用意するデータを作成する共通クラスを用意しています。 必須項目や入力規則が追加されたときの修正箇所を少なくできます。
49.
共通クラスのテストクラスで使用方法を確認できます。 入力規則などの追加によるエラーはここのテストで確認できます。
50.
51.
Controllerにすべての処理を書いたりするとメンテナンスが大変です。 Helperクラスを用意してその辺の問題を解決しています。
52.
ApexトリガーでもHelperクラスを用意することで Handlerクラスの処理がスッキリすると思います。
53.
54.
Intriguing Design Pattern
for Scheduled APEX http://advancedapex.com/2012/11/14/scheduledapex/
55.
56.
57.
58.
https://github.com/tyoshikawa1106/Salesforce-Hack-Challenge-2014 Salesforce Hack Challenge
2014
Download now