エンティティと拡張機能に対するデータの保存

エンティティと拡張機能に対するデータの保存

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

データストレージ: エンティティとエクステンションのデータ保存

Zoho プロジェクトのエクステンションを開発する際に、エクステンションのデータを保存する必要があるかもしれません。私たちは、エンティティとエクステンションのデータを保存するためにキー値ペアを利用します。これにより、行と列にデータが保存される従来のデータベースのようなRDBMSが不要になります。

エンティティ 属性

キーバリューペアとは何ですか?

'キーバリュー'はデータ保存形式です。エンティティやエクステンションの属性をキーバリューペアで保存することができます。キーは一意の文字列で、値はJSONオブジェクトです。セッション情報、ユーザープロファイル、設定などの情報をキーバリューペアとして保存することができます。Zoho プロジェクトでサポートされるエンティティに関するデータや、あなたが作成したエクステンションのデータを保存することができます。

エンティティに対するデータの保存

Zoho プロジェクトは、プロジェクト、タスク、およびイシューのエンティティをサポートしています。それぞれのエンティティに対して、プロジェクト固有、タスク固有、またはイシュー固有のデータを保存することができます。キーは一意の文字列で、後でキーで特定する必要があるJSONオブジェクトとしてデータが必要です。次の方法をそれぞれ使用して、エンティティに対して保存したデータを、保存、取得、更新、削除できます。

現在のユーザーがREAD権限のみを持っている場合、データを取得するretrieve()のみが呼び出されます。EDIT権限を持っている場合は、'store()', 'update()', 'remove()'などの他の関数も呼び出すことができます。

entity.store

エンティティのデータを保存します。


var value = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','name' : 'Sample.png'}
];
var count = 1;
zohoprojects.entity.store('6573492', value, count).then(function(response)
/* 出力結果
{
  'properties': [
    {
      'key': '6573492',
      'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'sample.png\'}]',
      'count' : 1,
      'id': 1587134426
    }
  ]
}
*/
); 

引数
引数名 データタイプ 説明
キー 文字列

エンティティ属性を識別するために使用されるユニークな文字列です。このキーのみを使って後でデータを取得します。

メモ: 最大長: <255> TBD

JSONObject エンティティに対して保存されるべきデータの属性。
カウント Integer エンティティに保存される発生回数の数値。

エンティティの取得

エンティティに保存されているデータを取得します。このメソッドの引数には、同じデータを保存した際に使用したキーを指定してください。


zohoprojects.entity.retrieve('6573492').then(function(response)
/*出力結果
{
  'properties': [
    {
      'key': '6573492',
      'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'update.png\'}]',
      'id': 1587134426,
      'count': 1
    }
  ]
}
*/
);

entity.update

エンティティに保存されたデータを更新します。このメソッドの引数は、以下の四つの事前定義されたキーを持つJSONオブジェクトです:
引数の名前 データ型 説明
id string エンティティ用にentity.store()メソッドを使用して現在のキーを保存する際に生成されたIDです。
キー 文字列 エンティティにマッピングする新しいキー。古い/現在のキーを保持することもできます。
JSONオブジェクト エンティティに対して更新されるべきデータまたは属性。
回数 整数 エンティティに更新される発生回数。

var valueObj = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','name' : 'Sample_New.png'}
];
zohoprojects.entity.update({id:'1587134426',key:'6573492',value:valueObj,count:2}).then(function(response)
/*Output
{
  'properties': [
    {
      'key': '6573492',
      'value': '[{\'id\':\'1-QabBt69U8myXYSB7r6QTGPt48』',
      'id': 1587134426,
      'count' : 2
    }
  ]
}
*/
);

entity.remove

特定のエンティティに保存されたデータを削除します。このメソッドの引数は、同じデータを'entity.store()'メソッドを使用して保存したときに生成されたIDです。


zohoprojects.entity.remove(1587134426).then(function(response)
/* 出力 { 'status': 'success' } */
);

エンティティ属性の制限

  • キーに保存された値は一度に50KBを超えてはいけません。
  • このメソッドは'app_settings''と'top_band''の位置には呼び出すことができません。
  • エンティティ属性に保存された値は、有効なJSON形式でなければなりません。
  • エンティティ属性の同時編集は一貫性を保証しません。つまり、異なる2人のユーザーが同時に同じエンティティ属性を変更した場合、最新の変更のみが保存され、以前の変更は失われます/上書きされます。

拡張属性

拡張属性とは?

それは、拡張自体に保存されるキーと値のペアです。ただし、製品から拡張機能がアンインストールされると、保存されたデータは失われます。一方、エンティティに保存されたデータは、拡張機能がアンインストールされた場合でも保持されます。なぜなら、特定の拡張機能に関連する情報のみが削除され、エンティティ特有のデータは他の拡張機能がアクセスできる状態でまだ利用可能だからです。

app。store

拡張機能のデータを保存します。


var value = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','name' : 'Sample.png'}
];
zohoprojects.app.store('6573492', value).then(function(response)
/* 出力 { 'properties': [ { 'key': '6573492', 'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'Sample.png\'}]', 'id': 1587134426 } ] } */
);


引数
引数の名前 データ型 説明 key string 拡張プロパティを識別する一意の文字列。 value JSONObject 拡張に対して保存されるプロパティまたはデータ。

app.retrieve

このメソッドはエクステンションに対して保存されたデータを取得します。引数はデータを保存する際に使ったキーである必要があります。このメソッドはデータを保存したエクステンションからのみ呼び出された場合にデータを取得できます。もしエクステンションがアンインストールされた場合、データは削除されます。


zohoprojects.app.retrieve('6573492').then(function(response)
/* 出力 { 'properties': [ { 'key': '6573492', 'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'update.png\'}]', 'id': 1587134426 } ] } */
);

app.update

このメソッドはエクステンションに保存されたデータを更新します。メソッドの引数は以下の予め定義されたキーを含むJSONオブジェクトです:
引数名 データ型 説明
id string このidは、app.store()メソッドを使って、現在のキーを拡張機能に対して保存したときに生成された出力です。
キー 文字列 拡張機能に対してマッピングされる新しいキーです。古い・現在のキーを保持することも選択できます。 値 JSONオブジェクト 拡張機能に対して更新されるデータまたはプロパティです。

var valueObj = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','name' : 'Sample_New。png'}
];
zohoprojects< span style='font-size: inherit' class='size'>.app< span style='font-size: inherit' class='size'>.update({id:'1587134426',key:'6573492',value:valueObj}).< span style='font-size: inherit' class='size'>then(function(response)
/*出力 { 'プロパティ': [ { 'キー': '6573492', '値': '[{'id':'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','名前':'Sample_New。png'}]', 'id': 1587134426 } ] } */
style='color: rgb(153, 153, 153)' class='colour'>);

app.remove

特定の拡張子に対して保存されたデータを削除します。メソッドの引数には、同じデータをapp.store()メソッドを使用して保存した際に生成されたIDが使用されます。


zohoprojects.app.remove(1587134426).then(function(response)
/* 出力 { 'status': 'success' } */
);

拡張プロパティの制限

  • キーに対して一度に保存される値は50KBを超えてはなりません。
  • エクステンションに対して保存できるキーと値のペアは最大で100組までです。
  • エクステンションのプロパティに保存される値は、有効なJSON形式である必要があります。
  • エクステンションのプロパティに対する同時編集は一貫性を保証しません。つまり、異なるユーザーが同時に同じエクステンションのプロパティを変更した場合、最新の変更のみが保存され、先の変更は失われるか上書きされます。
したがって、エクステンションに対して保存したデータを以下のメソッドを使用して store, retrieve, update, delete することができます。

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Desk Resources

              • Desk Community Learning Series


              • Digest


              • Functions


              • Meetups


              • Kbase


              • Resources


              • Glossary


              • Desk Marketplace


              • MVP Corner


              • Word of the Day









                                Resources

                                Videos

                                Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                eBooks

                                Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                Webinars

                                Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                CRM Tips

                                Make the most of Zoho CRM with these useful tips.