お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
このページの内容
このページでは、Zoho Creatorで効率的かつ拡張性の高いアプリケーションを構築するための推奨ベストプラクティスについて説明します。アプリの設計、フォームや項目の構成、データの整理、最適化されたDelugeスクリプトの作成、Zoho ZiaなどのAI搭載支援機能の効果的な使用に関するガイドラインを取り上げます。Creatorアプリケーションでこれらのベストプラクティスに従うことで、パフォーマンスの向上、メンテナンスの容易化、よりスムーズなユーザー体験を実現できます。
1.概要
Zoho Creatorは、迅速なアプリケーション開発を可能にするローコードプラットフォームであり、ビジネスでアプリをすばやく構築して展開できます。ただし、適切に構築するには体系的なアプローチが必要です。標準的なベストプラクティスに従うことで、ビジネスの成長に合わせてアプリの拡張性、安全性、高いパフォーマンス、メンテナンスのしやすさを確保できます。
アプリの構造を慎重に計画し、整理されたデータ関係を維持し、ワークフローとスクリプトを最適化し、適切なセキュリティ基準を適用することで、よくある問題を回避し、長期的なメンテナンス作業を削減できます。
初めてアプリを作成する市民開発者でも、複雑なソリューションを管理する経験豊富な開発者でも、これらのベストプラクティスは、Zoho Creatorで効率的、信頼性が高く、将来に備えたアプリケーションを設計するのに役立ちます。
1.1ベストプラクティスの重要性
ビジネスアプリの有効性は、その背後にある戦略によって決まります。Zoho Creatorアプリケーションを適切に開発すると、次のことが可能になります。
- 手動プロセスを自動化して業務効率を向上させる
- 役割に基づくアクセス権と監査証跡により、セキュリティとコンプライアンスを強化する
- ビジネス要件の拡大に合わせて容易に拡張する
- 指標やダッシュボードを通じて、業務に関するリアルタイムの可視性を提供する
次の対応により、よくあるエラーを回避し、長期的なメンテナンス作業を削減できます。
- アプリケーション構造を慎重に計画する
- 最初から拡張性を考慮して設計する
- 整理され、明確に定義されたデータ関係を維持する
- ワークフローとDelugeスクリプトを最適化する
- 強固なセキュリティ基準を適用する
2.アプリケーション設計
2.1適切なプランの選択
Zoho Creatorでアプリケーションの作成を開始する前に、Creatorプラットフォームで利用できる機能と、各プランに適用される利用上限を理解しておくことが重要です。
- 目安として、必要な上限より少なくとも5〜10パーセント多い上限を確保することが理想的です。これにより、ユーザー活動が急増した場合でもアプリケーションを拡張できます。
- アプリを使用するユーザーの種類など、組織の要件に基づいて料金プランを特定します。たとえば、外部顧客にアプリケーションへのアクセスを許可する必要がある場合は、顧客ポータル機能を提供するプランを選択してください。
2.2アプリケーション構造とデータ
次のガイドラインは、アプリケーションを効果的に構成し、拡張性とメンテナンス性の高い強固な基盤を確保するのに役立ちます。
- アプリケーションを構築する前に、全体の構造を定義し、項目や関係を含むデータモデルを設計し、暗号化が必要な項目を特定し、既存プロセスの課題を評価します。
- アプリケーション構造を文書化します。これにより、後で変更を加えやすくなります。
- すべてのコンポーネントにわかりやすい名前を割り当てます:フォーム、項目、レポート、ワークフロー、ブループリント、ページ、変数、関数、権限セット。
- フォーム間に関係を作成するには、ルックアップ項目を使用します。これにより、フォーム間でのデータの重複を避けられます。
- データの整合性を維持するために、項目に[必須]や[重複値なし]などのプロパティを設定します。
- 単独のエンティティとして存在すべきデータや、複数のフォームで再利用すべきデータを保存するためにサブフォームを使用することは避けてください。このような場合は、代わりにルックアップ関係を持つ別のフォームを使用します。これにより、不要な重複を防ぎ、データの正規化を向上させ、共有データの更新がアプリケーション全体に一貫して反映されるようになります。
- 適切に構成されたサブフォームは、整理されたデータ関係の維持、冗長性の削減、アプリ全体のパフォーマンスとメンテナンス性の向上に役立ちます。
- 不要なコンポーネントをアプリケーションから削除します。
- データの削除動作を指定します(特定のデータが削除された場合に、関連するデータがどうなるか)。たとえば、従業員が削除された場合、その従業員に割り当てられたタスクがどうなるかを指定します。
- 重複または競合するワークフローを避け、必要な場合にのみワークフローをトリガーします。
- アプリケーションへの変更は、ステージング環境および本番環境に公開する前に、開発環境で実施し、十分にテストします。
- アプリの定期バックアップ機能を使用して、定期的なバックアップを作成します。
- 適切な役割に基づくアクセス制御を確保し、検証によってデータの整合性を維持し、展開前に十分にテストします。
- Zoho Creatorでデータライフサイクル戦略を実装するには、スケジュールワークフローを使用して、非アクティブまたは古くなったデータの処理を自動化できます。これにより、レポートを最適な状態に保ちながら、古いデータを定期的にアーカイブまたは削除できます。
2.3ユーザビリティとユーザー体験
ユーザビリティとアクセシビリティを考慮してアプリケーションを設計することで、ユーザーはアプリを容易に理解し、移動し、操作できます。次のガイドラインは、アプリケーションのさまざまなコンポーネント全体で明確さ、一貫性、全体的なユーザー体験を向上させるのに役立ちます。
全般
- 明確なコンポーネント名:フォーム、レポート、ページなどのコンポーネント名とその説明(ある場合)が、目的を明確に伝えるようにします。さらに、フォーム項目には説明的なラベルとツールチップを用意し、フォーム送信をより速く簡単にします。
- たとえば、フォーム名には「申請フォーム」ではなく、「求人応募フォーム」や「会員申請フォーム」のように、より具体的な名前を使用します。
- 上記の例の説明としては、「当社の職種に応募するには、このフォームに入力してください。個人情報、職務経験、資格を入力してください。」のように記載できます。
- 名前項目については、「名前」から「氏名を入力してください。」に変更できます。
- わかりやすく包括的な表現:専門用語、慣用句、省略語、一般的でない表現は避けてください。代わりに、明確でわかりやすい表現を使用して、ユーザーの理解とアクセシビリティを高めます。
- 一貫性:すべてのコンポーネントで、ページタイトルとナビゲーションボタンのラベルを一貫して明確に保ちます。
- テストとユーザーフィードバック:障がいのあるユーザーとともにアプリを定期的にテストし、そのフィードバックをアプリ設計プロセスに取り入れて、真にアクセシブルなユーザー体験を作成します。
- 文書化の基準:メンテナンス、今後の参照、トラブルシューティングを容易にするために、内部ドキュメントを維持し、ワークフローと自動化ロジックを明確に文書化します。十分に文書化されたアプリケーションは、他の開発者との共同作業を容易にし、問題発生時に関連情報をサポートチームと共有しやすくします。
- ローカライズ:Zoho Creatorの多言語翻訳サポートを使用して、アプリケーションをより幅広いユーザーが利用できるようにし、組織、地域、言語の壁を越えたシームレスな共同作業を可能にします。
フォーム
- 複数列レイアウトを使用して、フォームを小さな部分に分割できます。
- セクションを使用して、コンテキストに基づいて項目を論理的にグループ化できます。
- ユーザーがWebブラウザーからフォームにアクセスしたときに表示される項目の入力エリアについて、項目サイズと項目ラベルの位置を設定できます。
- ツールチップとヘルプテキストを使用して、項目に必要な入力内容をユーザーが理解できるようにできます。
- フォーム送信を確認するために、成功メッセージを追加できます。
- 関連する操作時に、メール、SMS、プッシュ通知をユーザーに送信するように設定することもできます。
- 適切な成功メッセージとアラートを表示して、視覚的な補助を提供できます。
レポート
- コンテキストメッセージを使用すると、レポートに表示されるメッセージを適切な内容にパーソナライズできます。
- レポートのクイックビューには、最も重要で関連性の高い列のみを追加してください。
- その他の情報は詳細ビューに追加し、ブロックを使用して論理的にグループ化できます。
- レポートの列を固定すると、レポートをスクロールする際にデータの文脈を維持できます。
- 条件付き書式を使用すると、特定の条件にもとづいて特定のデータを強調表示できます。
- 編集、削除、複製、データの表示などの既存のシステム操作に加えて、カスタムアクションボタンを使用すると、頻繁に行う操作を簡素化できます。これらのボタンは、実行前に確認メッセージを表示するように設定できます。
- カスタムレイアウトとデータテンプレートを使用すると、文脈に応じてデータの表示をさらにカスタマイズできます。
- CreatorのCanvasレイアウトビルダーを使用して、ビジネス要件に合わせたデータの詳細ビューのレイアウトを設計できます。
ページ
- ページを使用すると、アプリケーション用にカスタマイズしたダッシュボードを作成し、アプリケーション内のプロセス全体を把握できます。ただし、複数のコンポーネントを詰め込みすぎないようにしてください。
- 10~15個を超えるコンポーネントを追加すると、ユーザーの認知負荷が高まる可能性があります。
- 文脈に応じて複数のページを作成できます。
アプリケーションナビゲーション
- テーマを使用すると、アプリケーションナビゲーションをカスタマイズできます:上部、左側、グリッドナビゲーション。
3.AIの効果的な利用
Zoho Ziaを搭載したZoho CreatorのAI機能は、アプリ開発の迅速化、タスクの自動化、自然言語プロンプトを使用したスクリプトやコンポーネントの生成に役立ちます。以下のベストプラクティスは、AIを効果的に使用し、より良いプロンプトを作成し、使用制限を管理し、より正確な結果を生成するために役立ちます。
Zoho GenAIはZoho独自のLLMで、追加費用なしで利用できます。Zoho GenAIを使用する場合、データはZohoのエコシステム内で保護されます。
3.1 Zoho Ziaの一般的なベストプラクティス
メモ:スクリプト支援、アプリやフォームの作成などのZoho GenAI機能は、Creator AI呼び出しを消費せず、無料で使用できます。これらの使用量は、Zoho Ziaで設定されている各LLMプロバイダーの制限に従います。
- ビジネスプロンプトを記述する際は、次の点を考慮してください。
- アプリまたはフォームでどのような課題を解決したいですか?
- このアプリは誰が使用することを想定していますか?
- アプリでどのデータを処理する必要がありますか?
- AI機能を使用する際は、プロンプトに機密情報や秘匿情報を含めないでください。
- プロンプトを入力する際は、アプリやフォームで収集、追跡、一覧表示、管理する内容を、次のような日常的な言葉で説明してください。
- 「IT管理者がノートパソコン、デスクトップ、モバイルデバイスなどの会社資産を追跡するための資産管理アプリを作成してください。このアプリでは、新しい資産の追加、従業員への資産の割り当て、資産の状態と場所の追跡、メンテナンス履歴の記録、資産ステータスに関するレポートの生成ができるようにしてください。資産、従業員、資産割り当て、メンテナンスログ用の個別のフォームに加えて、総資産数、割り当て済みと未割り当ての資産、今後のメンテナンス予定を監視するダッシュボードを含めてください。」
- このプロンプトが有効なのは、アプリの利用者(IT管理者)、達成すべきこと(資産の追跡、従業員への割り当て、メンテナンスの記録、ステータスの監視)、重要な出力(資産レポート、割り当て追跡、メンテナンスダッシュボード)が明確に定義されているためです。
- AIで生成されたコンテンツには誤りが含まれる場合があります。使用する前に、入力した説明プロンプトが正確で適切であることを確認してください。
- 短時間に複数のアプリを連続して作成しようとすると、選択したLLMのレート制限を超え、エラーが発生する場合があります。
- Zoho Ziaを使用してスクリプトを作成する際は、プロンプトとあわせてコンポーネント名、リンク名、項目名、または項目リンク名を指定すると、作成済みのコンポーネントを効果的に活用し、正確なスクリプトを生成できます。
- たとえば、フォームの項目に保存されている特定のメールアドレスにメールを送信する場合は、より精密で正確なスクリプトを生成するために、フォーム名、メール項目名、メールの選択条件、件名の内容をプロンプトで明確に指定することをおすすめします。
- 適切に構成されたプロンプトの例:「商品の配送を追跡するために、[注文]フォームの[メール]項目にあるメールアドレスへメール通知を送信するスクリプトを作成してください。」
- AI機能はすべての有料のZoho Creatorユーザーが利用できますが、各アカウントには、契約プランにもとづいてAI呼び出しの数に上限が設定されています。割り当てられた上限内に収め、中断を避けるために、AIの使用状況を監視し、最適化してください。
情報:プロンプトを効果的に記述する際に従うべきその他のベストプラクティスについては、
このページを参照してください。
3.2 DelugeのZoho Ziaタスク
- Zoho Ziaタスクは、Zoho GenAIを使用する際、特定の期間内に行われたAPI呼び出しの数にもとづいてスロットリングの対象になります。Creatorでは、ユーザーごとに同時実行中のリクエストを最大7件、組織ごとに10件まで許可しています。この上限を超えると、使用状況が通常に戻るまで、後続のリクエストが遅延したり一時的に制限されたりする場合があります。
- 精度を高め、誤った出力や作り上げられた出力(ハルシネーション)を減らすには、<temperature>パラメーターを最小値に設定できます。
- また、より明確で正確な回答を得るために、<context>パラメーターにAIが担う役割を指定する追加メッセージを入力することもできます。
4.Deluge
Delugeは、Zoho Creatorでワークフローの自動化、データの処理、アプリケーションの動作のカスタマイズに使用されるスクリプト言語です。これらのベストプラクティスに従うことで、パフォーマンスとセキュリティを向上させながら、より簡潔で効率的かつ保守しやすいスクリプトを作成できます。
4.1 コード構造と保守性
- コードはモジュール化し、スクリプトの過度なネストを避けてください。
- スクリプトにはインデントを設定し、コメントを追加して、ロジックと目的の概要を簡潔に示すことができます。
- 大きなコードブロックは、小さく独立したまとまりに分割して、可読性と保守性を高めてください。
- 変数には意味のある名前を付けると、スクリプトの理解と保守がしやすくなります。
- 関数を使用して、頻繁に使用するロジックや重複するロジックを再利用可能なコードブロックとして作成してください。
- 大量のデータを不要に反復処理しないようにして、ループを最適化してください。breakやcontinueなどの制御文を使用すると、反復処理の終了やスキップを効率的に行えます。
- 必要に応じて、Zoho Zia Deluge支援を使用して既存のスクリプトを変更または最適化できます。
- 集計データタスクを効果的に使用し、すべてのデータは必要な場合にのみ取得してください。
- 可能な限り組み込み関数を使用してください。これらはパフォーマンスに合わせて最適化されています。
- 比較には、「==」演算子ではなく、equalsIgnoreCase、equalsなどの定義済みDeluge関数を使用することをおすすめします。
- 条件でインデックス付き項目を使用すると、関連するデータをより速く取得できます。インデックス作成はバックエンド処理です。有効化については、support@zohocreator.comまでお問い合わせください。
4.3 エラー処理とデバッグ
- 必要に応じて、infoなどのデバッグ文を使用し、エラーの特定とトラブルシューティングを行えます。機密データや秘匿データのログ記録は避け、不要なinfo文は削除するかコメントアウトしてください。
- try-catch文を使用して、コード内の例外を処理してください。
- エラーのあるスクリプトは保存または実行できないため、保存する前にDelugeのすべての構文エラーを解決してください。
- 不適切なプログラミング手法やミスによって発生する論理エラーは、テスト中に追跡して修正する必要があります。Delugeスクリプトのエラーはアプリケーションロジックにのみ影響し、脆弱性の原因にはなりません
4.4 ワークフローと実行管理
- 複数の独立したIf条件ではなく、Else-If構造を使用してください。これにより、一致する条件が見つかると評価が停止します。
- リアルタイムで実行する必要のないタスクは、代わりにスケジュールへ移動するか、非同期タスクを使用して処理できます。
メモ:
非同期タスク(開発中)を使用すると、応答を待たずにスクリプトを実行できます。
リリースを確認する
- バッチワークフロー機能を使用すると、データに対する大量または反復的な操作を定期的かつ自動的に処理できます。データは設定されたスケジュールにもとづいて処理され、最大1000件までの小さなバッチに分割できます。これにより、大量のデータを一度にループ処理することを避け、営業時間外に処理でき、全体的な効率が向上します。
4.5 セキュリティとAPI処理
- invokeURL、invoke API、その他のDeluge連携タスクを使用してAPI呼び出しを実行する場合は、スクリプト内で必要な応答データのみを処理するようにしてください。
- アプリケーションのリンク名や所有者名の変更が機能に影響しないように、システム変数(zoho.appuriやzoho.appnameなど)を使用します。これは、コンポーネントを埋め込むためにHTMLページ内で使用するDelugeスクリプトで特に役立ちます。
- Delugeステートメントの制限内に収まるように、Delugeスクリプトを最適化してください。これらの制限は、リソースの意図しない誤用を防ぐために設定されています。
- ワークフロー実行のスロットリング:1分あたりIPアドレスごとに実行できるDelugeワークフローは100件のみです。
4.7 スクリプトより設定の優先
- 可能な限り、スクリプトではなく組み込み機能を使用します。たとえば:
- スクリプトで値を逆方向に割り当てる代わりに、項目プロパティで双方向ルックアップを使用します
- スクリプトで割り当てる代わりに、項目プロパティを使用して初期値を設定します
- 可能な限り、スクリプトではなく数式項目を使用して計算を実行します
4.8 Delugeエディター
- 構文アシストを使用すると、定義済みの値を割り当て、エラーのないスクリプト作成を支援できます。
- バージョン管理を使用して、各バージョンやコードの変更を追跡できます。
4.9 避けるべきスクリプト
以下は、避けることができるスクリプトとその代替方法の例です。
例1:
❌次のスクリプトのようにデータを取得してから各データを反復処理する方法は、最も効率的ではありません。
- fetchInvoices = Invoice_form[<criteria>];
- if(fetchInvoices.count() > 0)
- {
- for each invoice in fetchInvoices
- {
- <action>
- }
- }
✅取得処理の一部としてデータを直接反復処理すると効率的です。
- for each invoice in Invoice_form[<criteria>];
- {
- <action>
- }
例2:
❌次のスクリプトのように、値を取得するためにデータを反復処理する方法。
- paymentList=List(); //リスト変数を作成
- for each invoice in PaymentAgainstInvoice[<criteria>] //取得したデータを反復処理
- {
- paymentList.add(invoice.ID); //各反復でIDを抽出し、リスト変数に追加
- }
✅組み込み関数を使用すると、同じ処理を効率的に実行できます。
- paymentList = PaymentAgainstInvoice[<criteria>].ID.getAll(); //上記3つの処理を1つのステートメントで実行
例3:
❌次のスクリプトのように、データ件数を取得するためにデータを反復処理する方法。
- recordcount = 0
- fetchInvoices = Invoice_form[<criteria>];
- for each lineitemcount in fetchInvoices
- {
- recordcount = recordcount + 1;
- }
✅代わりに集計関数を使用します。
- recordcount = Invoice_form[<criteria>].count(ID);
例4:
❌最初にデータを挿入し、条件チェック後に挿入したデータの値を変更する方法。
- billID = insert into Bill
- [
- Added_User=zoho.loginuser
- Total_Price=Total_Price
- Bill_Status=Bill_Status
- ];
- fetchBill = Bill[ID == billID];
- if(patient_Type == 'Free')
- {
- fetchBill.Total_Price=0;
- fetchBill.Bill_Status='Closed';
- }
✅代わりに、データを挿入する前にチェックを実行します。
- if(patient_Type == 'Free')
- {
- Total_Price=0;
- Bill_Status='Closed';
- }
- billID = insert into Bill
- [
- Added_User=zoho.loginuser
- Total_Price=Total_Price
- Bill_Status=Bill_Status
- ];
例5:
❌APIを使用してデータを更新し、更新後のロジックをトリガーする方法。
- rec = Form[ID = <record_ID>];
- rec.Single_line = <value>;
- updateapi = zoho.creator.updateRecord(<owner_name>, <app_link_name>, <report_link_name>, rec.ID, <new_input_values>, <other_api_params>, <connection_link_name>);
✅代わりに、データ更新Delugeタスクを使用し、関数で更新後のロジックをトリガーします。
- rec = Form[ID = <record_ID>];
- rec.Single_line = <value>;
- rec.Number = <value>;
- functionscript = thisapp.<function_with_on_success_code>(int rec.ID);
5. セキュリティ
セキュリティは、アプリケーション開発における重要な要素です。適切なアクセス制御を実装し、機密データを保護し、自動化ロジックを確認することで、Zoho Creatorアプリケーションの安全性とコンプライアンスを維持できます。以下のベストプラクティスでは、ユーザー、データ、アプリケーションコンポーネントを保護する方法を説明します。
5.1 ユーザーと権限
- 必要なユーザーのみをアプリケーションに追加し、必要なタブのみを共有してください。
- アプリケーションへのアクセスが不要になったユーザーまたは開発者は削除してください。
- 複数のユーザーがアプリを構築する場合は、管理者の認証情報を共有するのではなく、必要なユーザーを開発者として追加してください。
- API、個人情報、電子的保護対象医療情報データへのアクセス権は、必要な権限セットのみに付与できます。
- エクスポート、削除、すべて表示、一括編集権限は制限する必要があります。
- ユーザーや顧客に不要な権限セットは削除できます。
- PIIおよび電子的保護対象医療情報を収集または含む項目は、暗号化する必要があります。
- 該当する場合、レポート内の機密情報はマスクできます。
- レポートにフィルターと条件を追加して、必要な情報のみがユーザーに表示されるようにできます。
- 保存されている機密情報は、不要になった時点で削除できます。
- カスタムアクションボタンに確認メッセージを関連付けることができます。
- SSNやパスワードなどの機密情報を収集または保存することは推奨されません。収集する場合は、フォーム内に目的を明記してください。
- API認証情報は、アプリケーション内に保存しないことをお勧めします。
- ヘルプテキストやツールチップを項目に関連付けて、データを収集する理由を詳しく説明できます。
- データ収集の目的を明示するために、フォームにメモ項目を追加できます。
- 公開アクセスが不要になった場合は、公開フォームを無効にすることをお勧めします。
- 決定ボックスを使用して、データ収集に対する同意を取得できます。
- フォームのプロパティでユーザーの位置情報やIPアドレスの収集を有効にする場合は、その旨をユーザーに知らせ、同意を取得することをお勧めします。IPアドレスは暗号化することもできます。
- レポート内の[追加]、[削除]、[複製]などの操作は確認し、不要な場合は削除できます。
- データに加えられた変更の履歴は、監査証跡機能を使用して追跡することもできます。
5.3ワークフローとスクリプト
- 不要な複雑さを避けるためにワークフローとDelugeスクリプトを最適化し、実際に価値がある場合にのみ自動化してください。
- 可能な限りコメントを使用してください。
- 可能な限り、項目に入力検証を設定してください。
- アプリケーションで使用するハイパーリンクは確認してください。
- SMS、メール、プッシュ通知タスクの内容は確認してください。
- APIを呼び出す際は、可能な限りOAuthベースの認証を使用してください。
- 関数やスケジュールワークフローなどのビジネスロジックは、メインフローに組み込む前に、テスト目的でワークフロービルダー内で直接実行できます。
5.4ページ
- ウィジェット内で使用するJavaScriptコードは確認してください。
- ページ変数に基づいて動作するページでは、ページにエラーや無関係なデータが表示されないように、nullチェックを含めてください。
6.モバイルアプリ
Zoho Creatorアプリケーションはモバイル端末からアクセスでき、ユーザーは外出先でもタスクの実行やデータの管理を行えます。次のベストプラクティスは、ナビゲーション、表示、全体的なユーザー体験を改善し、アプリをモバイル利用に最適化するのに役立ちます。
- データのタップ、左スワイプ、右スワイプなど、アクションとそのアクションをトリガーするイベントを指定および変更できます。
- レポートのクイックビューと詳細ビューの列は、アプリのコンテキストに合わせて設定できます。
- アプリケーションにカスタムロゴをアップロードできます。
- アプリケーションはブランド変更され、ユーザーと顧客向けに個別に公開できます。
- GDPR対応準備
- プラットフォームのパフォーマンスに関するベストプラクティス
- Creatorのヘルプリソース