Forguncy は、複数の開発者が同じプロジェクトを共同編集および管理するための機能を提供しています。規模の大きなアプリケーションなど、複数の開発者がより柔軟、かつ効率的にアプリケーションの作成を行うことをサポートします。
チェックアウトとチェックインは、Forguncyのチーム開発において最も基本的な概念です。チェックアウトとチェックインにより、複数の開発者が同じモジュールを同時に編集して競合を引き起こすことを防ぎます。
チェックアウト:他のユーザーが編集できないようにモジュールをロックし、チェックアウトした開発者のみが編集できるようにします。
チェックイン:チェックアウトしたモジュールの変更を反映し、ロックを解除してほかの開発者がチェックアウトを行えるようにします。
モジュールとは、Forguncyのチーム開発機能においてチェックアウト/チェックインを行うことができる最小単位のことです。ページは、各ページそれぞれがモジュールとなりますが、テーブルはデータベース全体が1つのモジュールとなります。なお、リンクテーブルの場合、Forguncy Builderからの操作に関してはチーム開発機能の管理対象となりますが、ほかからの変更は管理対象外です。Forguncy Builder以外から管理対象のリンクテーブルに対して変更を行ったものをForguncy Builder側に反映させる場合、データベースをチェックアウトして[最新の情報に更新]の操作を行う必要があります。
データベース
ビルトイン モバイルページ
ビルトインページ
PCページ
モバイルページ
マスターページ
アプリケーション設定
テーマ
インポート画像
ユーザーアカウント
カスタムライブラリ
再利用コマンド
GeoJSONファイル
サーバーサイドオブジェクト
Gitとは、一般的にプログラムのソースコードなどの変更履歴を記録・追跡するためのバージョン管理システムのひとつで、オープンソースソフトウェアとして提供されています。Gitをローカルネットワーク上のコンピューターにインストールしてGitサーバーを構築する方法の他に、複数の企業がGitホスティングサービスを展開しています。
Forguncyのチーム開発機能を使用するためには、いずれかの方法でGitのリポジトリを使用可能な状態にする必要があります。
ForguncyはGitサーバーへの接続にWinHTTPを使用します。これはWebブラウザーが使用するWinInetとは異なります。そのため、プロキシサーバーを使用する環境の場合、WinHTTPによる通信がプロキシサーバーを経由するように構成されている必要があります。
Gitリポジトリサイズやアップロードするファイルサイズには上限が存在します。詳細はForguncyの仕様と制限を参照してください。Gitシステムは複数のファイルを「packfile」と呼ばれる単一のバイナリファイルとして格納することがあります。たとえば、[登録ファイルのダウンロード]コマンドを使用して複数の大きなサイズのファイルをプロジェクトに含めた場合、それら単体のファイルサイズが上限を超えていない場合であっても、「packfile」に変換されることで上限を超える場合があります。
プラグインを使用する場合、すべての開発者が同じバージョンのプラグインを各環境(Forguncy Builder)にインストールする必要があります。そのような状態になっていない場合、エラーが発生します。
アプリケーション開発の初期段階のほうが、異なるユーザーが異なる部分を担当しやすいため、本機能を使用することで開発効率が向上します。
アプリケーション開発を開始する前に、アプリケーションのインターフェースとスタイルを設計し、ボタン、テーブルなど、UI上でより多くの要素を使用するスタイルを設計します。このようにしておくことで、開発者はアプリケーション開発中に用意されたスタイルを適用するだけでスタイルの統一が取れるようにします。
データベースは、1人の開発者が変更しているときに他の開発者がチェックアウトできないモジュールです。整合性の取れていないデータベースは開発効率に大きな影響を与えるため、事前にデータベースを設計し、データベースの保守を担当する担当者のみが変更を行うようにすることをお勧めします。
チーム開発プロジェクトでは、以下の機能は使用できません。
[データ]リボンタブ - [Forguncyプロジェクトから]
[作成]リボンタブ - [Excelからページとテーブルを生成]
スタートページの設定は管理対象外です。運用時のスタートページはアプリ発行者が発行時にForguncy Builderで開いているページ(アクティブシート)が設定されます。もしページを開いていない場合、Forguncyはスタートページとして有効なページをランダムに設定されます。