孝さんの「上機嫌の作法」という本を読みました。その本によると「中年と言われる年齢にさしかかった人たちは、実際には不機嫌ではないにしても、ふつうにしているだけで不機嫌にみえるという十字架を背負っている」のだそうです。私もその例外ではないと思いますので、ぜひとも著者がいう上機嫌力を1年ぐらい掛けて身につけていきたいと思っています。このブログでは7月の開設以来、mitocoの各機能について紹介してきました。今回は少し違った視点で、mitocoに対する高度なカスタマイズについて書きたいと思います。実はmitocoはSalesforceのForce.comの上に構築されているので、Force.comが持つ豊富な機能を利用することが出来ます。ほんの一例ですが、次のようなことが可能になります。承認されたワークフローの証跡をPDFで残す)このなかで、3つめのPDF帳票を作る部分のカスタマイズ例を今日は紹介したいと思います。実現したいことワークフローで最終承認がなされたら、申請内容と承認者の情報をPDFにして「ドキュメント」の「証跡」フォルダに格納するようにします。ドキュメントフォルダに保管するのは、あとから管理・監査部門の担当者がまとめて確認しやすい、という点を考慮してそのような実装にしました。対象となる申請は「書籍購入申請」というものを想定したいと思います。ワークフローの設定については前回のブログ「ワークフローを使ってみよう!」で触れていますので、今回は設定済みのものとして省略します。ちなみにこのような承認プロセスの設定をしています。事前確認カスタマイズを行うために必要なForce.comの情報を確認しておきましょう。書籍購入申請の情報が格納されるオブジェクトは次の通りです。このオブジェクトはmitocoのパッケージに含まれています。WF_Dataオブジェクトに含まれていて、PDFに出力したい項目は次の3つです。購入目的などを入力します。書籍の価格を入力します。今回のPDFを出力するために使用するmitocoワークフローオブジェクトの情報を簡単にまとめておきます。承認されるとStatus項目がApprovedになります。StepNumberとするとステップを処理された順にとることが出来ます。ステップ名(「課長承認」や「部長承認」)が格納されています。承認者と承認したか否認したかが格納されています。実装まず「ドキュメント」タブにPDFの格納先となる「証跡」フォルダを作成し、そのIdを取得します。これはあとのApexで使います。次にPDFを出力するApexとVisualforceを作成します。Visualforceの1行目に書かれているrenderAs="pdf"によって、このVisualforceを開くとPDFとして描画されることになります。申請データのIdを取得する。申請データの各項目値を取得する。承認ステップの情報を取得する。</apex:repeat></apex:page>プロセスビルダーでの実行ワークフローが承認済みとなったときに、上記で実装したVisualforceを開き、そのPDFをドキュメントフォルダに保存させる処理は、プロセスビルダーを使ってバックエンドで行わせます。InstanceオブジェクトのStatus項目がApprovedになったときにApexを呼び出す」という内容を設定しています。「Visualforceを開き、そのPDFをドキュメントフォルダに保存させる」処理はプロセスから呼び出されるApexで行っています。そのApexのコードはつぎのような感じです。InstanceのIdを受け取って、それをVisualforceに引数として渡してPDFを描画しています。}}プロセスビルダーの設定はつぎのような感じです。InstanceのIdを渡すという設定がされています。わすれずに作成したプロセスを有効化して実装は完了です。動作確認では実際に申請をして最終承認まで行ってみます。最終承認まで行ったあと、ドキュメントフォルダを見てみるとPDFがちゃんと格納されていました!スタイルは全く入れていない点、あと証跡として残すのであればタイムスタンプなどもう少し情報が必要ですが、コードが長くなりすぎるので今回は割愛しました。まとめ今回はForce.comのVisualforce、Apex、プロセスビルダーなどの機能を使って高度なカスタマイズを行いました。このようにかなり柔軟にカスタマイズできるのもmitocoの魅力の1つだと思います。今回の記事が、mitocoを導入したエンドユーザーのシステム部門の方や、mitocoの導入支援をいただくパートナー様の参考になれば幸いです。最後に1点お断りしておきたいことがあります。Apexのソースコードに含まれている名前空間はMNTTSTWFとなっていますがこれは私の試験環境の名前空間です。本番環境ではTSMNTWFですので、置き換えていただけますようお願いします。関連する記事mitocoの「今日の掲示板」の詳細ポップオーバーで掲示を確認しようmitocoワークフローの設定でできることまとめSalesforceモバイルアプリを使うなら知っておくべき5つのこともう悩まない!Notes移行先にSalesforceとmitocoが最適なワケ関連するキーワードmitocoTerraSkyBaseについてTerraSkyBaseはクラウドサービスを手掛ける株式会社テラスカイのコンテンツプラットフォームです。