OutSystems Forgeのおすすめ拡張機能3選!作成するアプリの価値を高める便利ツール(Vol.35)

  • 公開日:
  • 最終更新日:

OutSystemsには、Forgeと呼ばれる誰でも再利用可能なオープンソースプログラムを配布するアプリケーションマーケットが存在します。ForgeではOutSystemsの開発ツールでは作りこみが必要になるような機能や.NETライブラリをラップしたロジック、テンプレート等が公開されています。これらはOutSystems社が公式に開発・提供しているものと、世界中のOutSystemsユーザーによって公開されているものが存在します。
Forgeを適切に利用することで、アプリケーション開発速度、ユーザーエクスペリエンスの向上につながります。今回のブログでは、Forgeで配布されている拡張機能の中でも特におすすめなもの3つをOutsystems Developer Cloud(ODC)での実装手順とともにご紹介します。

OutSystems Forge おすすめ拡張機能紹介①「Ultimate PDF」

UltimatePDFはOutSystems Labsから提供されている拡張機能で、画面をPDFやPNGに変換できます。帳票用の画面を作成するために利用できるレイアウト、UI部品や、作成した画面をPDF、PNGに変換するアクションが提供されています。
実際のプロジェクトでは、請求書や領収書などの帳票に利用されています。以下はUltimatePDFで作成した伝票のサンプルです。金額は実際にテーブルに保存されたものなどを参照し、出力しています。

〇簡単な実装手順
以下は帳票用の画面を作成し、別の画面のボタンを押下すると作成した画面がPDFでダウンロードされるように実装する手順です。
【実装の流れ】
1.  帳票イメージの作成
2.  PDFの帳票アクション作成
それぞれの手順について、詳しく説明いたします。

1.  帳票イメージの作成

まず帳票イメージを画面として作成していきます。通常通り画面を新規作成し、画面のアクセス権(Authorization)をEveryoneに指定します。
※画面に権限を付与すると、帳票を作成する際に権限不足によりログイン画面に遷移され、帳票化対象がログイン画面となってしまいます。

画面のLayoutにUltimate PDFの「PrintLayout」を指定します。PrintLayoutブロックでは用紙サイズ(PaperSize)や上下左右余白(MarginSize)等を指定することができます。帳票にしたい画面のイメージに合わせて設定してください。

続いて、OnInitializeをアクションで画面に日本語用のフォントを指定します。
この設定をすることで、帳票した際日本語の文字化けを防ぐことができます。

Ultimate PDFのアクションである「SetDocumentFont」を配置し、Fontに「Entities.Fonts.IBM_Plex_Sans_JP」を指定します。
配置すると、「OnInitializeでサーバーにアクセスする処理を利用しないでください。」という趣旨のWarningが発生します。こちらのWarningはOnInitializeでSetDocumentFontアクションを利用する以上回避できないものとなっています。
設定後、OutSystemsの画面部品を利用し、帳票イメージを作成していきます。

2.  PDFの帳票アクション作成

次に作成した帳票イメージをPDFにし、ダウンロードするアクションを別画面で作成していきます。

作成したアクション内に、Ultimate PDFのアクション「CurrEnvironment」を配置します。このアクションで次に利用する「PrintPDF」アクションに必要なEnvironment情報を取得します。
次にPrintToPDFアクションを配置します。こちらのアクションにGetEnvironmentアクションで取得した環境情報と、帳票イメージを作成した画面のURLを指定して対象の画面をPDF化し、ダウンロードします。
URLは「CurrEnvironment」アクションから取得されるドメイン名と、「GetAppName」アクションを利用して入れることで、文字列で入力するよりもドメイン名やアプリ名の変更に強い実装にできます。

OutSystems Forge おすすめ拡張機能紹介②「OutSystems Data Grid」

OutSystems Data Grid は、OutSystems 社が提供する拡張機能で、Excel のようなデータ編集画面を作成できます。
Data Grid には、テーブルを Excel ライクに表示する画面部品と、それを利用してデータを編集するためのアクションが提供されています。

〇簡単な実装手順
以下はOutSystemsで作成したEntity(一般的にはテーブルまたはビューと同義)内のレコードを画面上にExcelのように表示する手順です。
【実装の流れ】
1.  データ取得
2.  取得したデータをExcelのように表示
3.  提供されているアクションの紹介
それぞれの手順について、詳しく説明いたします。

1. データ取得

画面にデータ取得アクションを作成します。アクション内でデータを取得し、Data GridUIブロックを利用するために取得したデータをJSONへと変換、OutputAssignします。

2. 取得したデータをExcelのように表示

画面へGridブロックを配置し、Dataに1で作成したデータアクションのOutputパラメータを、IsDataFetchedへデータアクションのIsDataFetchedを入れます。

ブロックのInputパラメータはデータの編集や並び替え等を可能にするかどうかも決められるため、利用したい機能によってカスタムできます。

レコードの情報は、GridブロックのGridColumnsPlaceholderにTextColumnブロックやNumberColumnブロックを配置して表示します。


Columns系ブロックのHeaderには列タイトル、Bindingには行に表示したいデータの物理名を入れます。
※物理名は「[Entity名].[Attribute名]」です。

実装を完了すると、以下のような画面が実現できます。

3.  提供されているアクションの紹介

DataGridでは、Excelのような画面上で様々な操作を行うために多数のアクションが提供されています。その中の代表的な例をいくつかをご紹介します。

・AddNewRows
対象のGridにNumberOfRowsに指定した数の新しい行を追加することができます。

・GetChangedLines
対象のGridの編集状況を取得することができます。編集した列、削除した列、追加した列等が取得できるため、こちらの情報からデータ操作を行うことができます。

 OutSystems Forge おすすめ拡張機能紹介③「Excel Utilities」

Excel Utilities は、OutSystems Labs が提供する拡張機能で、Excel、JSON、CSV 形式のデータ変換を行うことができます。提供されているアクションを利用することで、各ファイルのフォーマットに簡単にデータを変換できます。
また、OutSystems のアクションで利用可能なRecord List To Excelアクションと併用することで、List 形式のデータをこれらのデータ形式へ簡単に変換できます。

〇簡単な機能例
1.  ConvertExcelToCSV
2.  ExcelToJSON
ExcelをCSV、JSONに変換するExcel Utilitie機能を2つ紹介いたします。

ConvertExcelToCSV

「ConvertExcelToCSV」ではExcelからCSVへの変換を行うことができます。
ExcelFileに変換元のExcelファイル、FileNameに拡張子.csvを除いたファイル名を入れます。
ExportFileをTrueにすると、変換したCSVファイルがダウンロードされます。
CSVDelimiterで値を分割する文字を指定することができます。

ExcelToJSON

「ConvertExcelToJSON」ではExcelからJSONへの変換を行うことができます。
JSONフォーマットのテキストで出力されます。

まとめ

ここまでForgeのおすすめ拡張機能3つ(Ultimate PDF、OutSystems Data Grid、Excel Utilities)について解説しましたがいかがだったでしょうか。OutSystemsのForgeには、開発者の生産性を大幅に向上させるための強力なコンポーネントが数多く揃っています。今回紹介した「Ultimate PDF」、「Data Grid」、「Excel Utilities」は、その中でも特に便利で多くのプロジェクトで役立つツールです。
Forgeを利用することでOutSystemsでの開発がさらに効率的になります。しかし、実際に利用する際は、適切なForgeは何か、セキュリティ的には問題がないか、制約はあるか等、様々なことを考慮して導入する必要があります。そのため、開発のプロフェッショナルの支援を受けることは、安心かつ有益です。
電通総研では、豊富な実績と経験を活かし、Forgeコンポーネントの選定から導入、運用までをサポートします。経験豊富なプロフェッショナルが、セキュリティや制約に関する懸念を解消しながら、最適な活用を支援します。また、弊社の 「トレーニングサービス」 では、Forge に限らず、OutSystems 開発スキルの育成を支援する多様なトレーニングメニューをご提供しています。「開発者のスキルやプロジェクトに合った教育を実施したい」 や 「実際に開発予定のアプリケーションをベースに実装スキルを高めたい」 とお考えの企業の方は、ぜひ弊社までご相談ください。

https://itsol.dentsusoken.com/outsystems/inquiry/

<筆者>
氏名:野田頭凌冬(のだがしら りょうと)
経歴:2023年、株式会社電通総研入社
   2023年よりOutSystems開発者として複数の案件に参画し、
   OutSystemsを用いたアプリケーション開発や内製開発者の育成を支援

保持資格:
– Professional Web Developer(OutSystems 11)
– Architecture Specialist(ODC)