Feature Update 2021-06-18

hx-support

hx-support

ResetPassword APIの改善#

ResetPassword API https://b-eee.github.io/linker-api-doc/docs/v0/userinfo/ResetPassword において、リダイレクト先の指定と、パラメータを渡すことが可能となりました。

本件はこちらのご要望への対応となります。貴重なご要望、ありがとうございました。 https://community.hexabase.com/t/topic/468/15

新規作成APIにて、新規作成用のActionIDを指定可能になりました#

CreateItem APIにおいて、 https://b-eee.github.io/linker-api-doc/docs/v0/item-actions/CreateItem

従来は、デフォルトの固定Actionが自動的に利用されておりましたが、 今回action_idをPayloadにて渡すことで、特定のActionIDを利用して新規作成が利用できるようになりました。

注意)新規作成Actionのみ指定可能です。その他のActionIDを渡した場合は、エラー(400)となります。

本件は、こちらのご要望の対応となります。貴重なご要望、ありがとうございました。 https://community.hexabase.com/t/topic/429

データレポートの結果に、OptionやStatusなどの{IDと値} を含められるようになりました。#

改善対象API https://b-eee.github.io/linker-api-doc/docs/v0/reports/GetReportDataByConditions

従来、選択肢型などのデータレポートの結果にOptionIDなどのIDは含まれず、IDから変換された値のみが返却されていました。 この場合、選択肢IDを利用したくてもプログラムから利用することができませんでした。

今回の変更では、Payloadに

"return_id_value_results": true,

というフラグを渡すことで、ID-Value値をObjectで返却できるようになりました。 以下例に示すとおり、従来返却される値とは別に、

"id_value_results": { ... }

という形で、該当フィールドIDごとに ID-ValueのObjectが返却されるようになります。

{
"AssigneeText": "X",
"Category": "A",
"Checkbox": "22",
"DateOld": "2021/05/26",
"DateTime1": "2021-05-27T18:38:13Z",
"DueDate": "2016/01/22",
"Lookup1": "",
"Number": 11,
"Radio": "B",
"Title": "タスクE",
"UserType": "",
"i_id": "5f267f1628dc5c6988bc2fee",
"id_value_results": { // <---- 該当するフィールドに、選択肢型またはステータス、またはユーザー型がある場合、付加されます
"Category": {
"id": "A",
"value": "A"
},
"Checkbox": [  // <---- Checkboxの場合、複数選択肢に対する配列が返ります
{
"id": "3ce8c186-89a6-455c-8b80-f962333b3eb0",
"value": "22"
}
],
"Radio": {
"id": "OptionB",
"value": "B"
},
"status1": {
"id": "InReview",
"value": "In Review"
}
},
"rev_no": 24,
"status1": "In Review"
},

以下、フィールド型ごとに、返却される形が変わります。

選択肢型、ラジオ型、ステータスについては、id/valueを含むObject型で返却されます。

"id_value_results": {
"フィールドID": {
id:"(選択肢などのdisplay_id)",
value: "(選択肢の値)"
},
...
}

チェックボックス型、User型については、複数の候補が含まれるため、Objectの配列で返却されます。

"id_value_results": {
"フィールドID": [
{
id:"(選択肢などのdisplay_id)",
value: "(選択肢の値)"
},
{
id:"(選択肢などのdisplay_id)",
value: "(選択肢の値)"
},
...
],
...
}

こちらは、以下ご要望の対応となります。貴重なご要望、ありがとうございました。 https://community.hexabase.com/t/topic/477

Feature Update 2021-05-14

hx-support

hx-support

API:全文検索APIを追加#

全文検索が可能な global_search API を追加しました。ワークスペース内のデータリソースに対して全文検索を行うことができます。

API:アクションスクリプトでPromiseを返却#

ExecuteAction APIによりアクションを呼び出した場合、アクションスクリプトからPromiseを返却できるようになりました。

この機能により、API呼び出しの実行結果を元にして、エラー処理などを実現できるようになりました。

  • 現在、値を返却できる対象となるのは ActionScriptのPreScript です。PostScriptでは、値の返却はされません。
  • 結果は、resolve() / reject() により返します。

対象API

サンプルコードも更新されています

(async function(data) {
return new Promise((resolve, reject) => {
const appId = "TestApp";
const datastoreId = "TODO-SAMPLE"
logger.log("Process starting...")
// first call
const url = `api/v0/applications/${appId}/datastores/${datastoreId}/items/search`;
const payload = {
use_display_id: true,
omit_fields_data: true,
conditions: [],
per_page: 1,
page: 1
}
callAPIAsync('POST', url, payload).then(res => {
logger.log("Proc1 Called")
// next call
const url = `api/v0/applications/${appId}/datastores/${datastoreId}/items/search`;
const payload = {
use_display_id: true,
omit_fields_data: true,
conditions: [],
per_page: 1,
page: 1
}
return callAPIAsync('POST', url, payload) // you can return promise
}).then(res => {
logger.log("Proc2 Called")
// call resolve() if you want to proceed
resolve();
}).catch(e => {
logger.error("ERR !!")
// call reject() if you want to stop action execution
reject({
"result": "Stopped",
"error" : "error messages"
}); // result object will be returned to Hexabase's API result
});
});
})

各APIの返却値(PreActionScriptで、reject()をコールした場合)

{
"details": {
"result": {
"error": "error messages",
"result": "Stopped"
},
"status": "REJECTED",
"stop_execution": true
},
"error": ""
}

CLI:コマンドエイリアスの追加#

Hexabase CLI に、コマンドエイリアスを追加しました。このコマンドエイリアスは、Hexabase CLIのショートカットとして利用できます。

これらのコマンドは、引数として対象を記述しなくても、インタラクティブに選択できます。

主なコマンドエイリアスは、次の通りです。

ALIASESCOMMANDUsage
hx envhx contexts:getコンテキスト一覧を取得
hx usehx contexts:useコンテキストを選択
hx loginhx contexts:loginコンテキストにログイン
hx wshx workspaces:getワークスペース一覧を取得
hx selhx workspaces:useワークスペースを選択
hx pjhx projects:getプロジェクト/アプリケーションを選択
hx dshx datastores:getデータベースを選択
hx fdhx fields:getフィールド一覧を取得
hx sthx statuses:getステータス一覧を取得
hx achx actions:getアクション一覧を取得

このほかのコマンドエイリアスは、"hx help [Command]" またはhexabase-cli - npmで確認ください。

Hexabase CLI をアップデートするには、以下のコマンドを実行してください。

$ npm update -g hexabase-cli

機能拡張:自動採番型のゼロ埋め#

自動採番型フィールドに「ゼロ埋めする」オプションを追加しました。これは、指定の桁数に満たない場合、上位の桁を自動的にゼロで埋める機能です。

この機能は、CSVアップデート・CSV追加インポートでも有効となります。新規インポートには対応しておりません。

「ゼロ埋めする」オプションを使用するには、次のように操作します。

  1. アイテム詳細を表示する
  2. 「項目を編集・追加する」を呼び出す
  3. 自動採番型フィールドの画面項目設定を呼び出す
  4. 画面項目の種類で、「ゼロ埋めする」オプションをオンにする

ゼロ埋めするオプション

機能改善:ワークスペースにリダイレクト設定を追加#

従来、管理画面にアクセスする権限を持たないユーザーが管理画面にログインすると、ワークスペースの作成画面が表示され、ワークスペースの作成ができてしまっていました。

今回、このようなユーザーのリダイレクト設定を追加しました。

リダイレクト設定は、ワークスペース設定 > リダイレクト設定でおこないます。

リダイレクト設定

機能改善:画面項目に「検索インデックスの有無」オプションを追加しました#

画面項目に、「検索インデックスの有無」オプションを追加して、データベースインデックスの作成有り無しを設定できるようにしました。

検索インデックスの有無

機能改善:ユーザーアカウント関連#

  • RemoveUser APIを使用してユーザーを削除した場合、グループからユーザを削除しても、アプリケーションのロールが削除されない現象を解消しました。
  • 初期ユーザー登録画面とパスワードリセット画面で、パスワードポリシーを有効にしました。

機能改善:画面項目IDのエラーチェックを強化#

画面項目IDの設定時、特定のIDや既存IDを利用できないようエラーチェックを強化しました。 画面項目のIDに以下の値は利用できません。

  • _id
  • a_id
  • access_keys
  • created_at
  • created_by
  • d_id
  • i_id
  • p_id
  • rev_no
  • status_id
  • title
  • unread

API Update 2021-04-30

hx-support

hx-support

Web UI:ユーザープロファイル設定にユーザーIDを表示する#

管理画面のユーザープロファイル設定に、ユーザーIDを表示するようになりました。

ユーザープロファイル設定

Web UI:項目名の代わりに、Display IDを表示する#

管理画面のデータベース設定に、以下のオプションを追加しました。

  • リストの項目と詳細画面に画面ID(display_id)を表示する
  • リストの項目にアイテム情報(item_id, rev_no, updated_at, created_at)を表示する

データベース設定

これにより、アイテム一覧とアイテム詳細で、項目名の代わりに、Display IDを表示できるようになりました。また、アイテム一覧に、アイテム情報(item_id, rev_no, updated_at, created_at)を表示できるようになりました。

Display IDを表示

アイテムのアクセスキーをAPIから操作する#

アイテムのアクセスキーが、APIから操作できるようになりました。

  • APIからアクセスキーを追加/上書きする
  • アクション設定は無視して、APIからのみaccessKeyを追加できる

対象API#

対象となるのは、以下のAPIです。

access_key_updatesオプション#

option説明
overwritefalse(デフォルト):既存のキーにaccessKeysを追加します。
true:アイテムのaccessKeysを上書きします。
ignore_action_settingsfalse(デフォルト):設定から取得したキーに追加します。
true:ActionSettings(グループ、ロールの場合)とFieldSettings(ユーザーの場合)を無視します。
apply_related_dsfalse(デフォルト):指定アイテムに適用します。
true:すべてのrelated_ds_items(new、update)にkey_updatesを適用します
groups_to_publish公開したいグループをdisplay_idで指定します。
[Important!!] ログインユーザーは、自分が持っているキーを追加できます。特権がない場合は、エラー結果でWARNINGを返しますが、有効なキーのみの追加に進みます
roles_to_publish公開したいロールをdisplay_idで指定します。
[Important!!] ログインユーザーは、自分が持っているキーを追加できます。特権がない場合は、エラー結果でWARNINGを返しますが、有効なキーのみの追加に進みます
users_to_publish公開したいユーザーのUserIDを指定します。ワークスペースに存在しない場合はエラーを返します。

オプションの記述例#

UpdateItem APIに記述した access_key_updates オプションの例を以下に示します。

"access_key_updates": {
"overwrite": false,
"ignore_action_settings": true,
"apply_related_ds": true,
"groups_to_publish": ["AAA", "BBB"],
"roles_to_publish": ["ADMIN", "Tester"],
"users_to_publish": ["5fc9b4aaaa39557110839cf7", "unknown-user"]
},

API Update 2021-04-07

hx-support

hx-support

検索条件の強化#

  • 検索条件に指定可能なパラメータが増えました。(件数のみまたは一覧のみ取得の指定、タイムアウト値の指定)
  • DataReportにもOR検索、Nestした検索条件の指定が可能となりました。

ItemList, DataStore(filter)に対して、以下パラメータを指定が可能となりました

  • return_count_only : trueを指定すると、totalItemsのみ返却します。 itemsは[] (空配列)となります。
  • omit_fields_data : 結果から、fieldsの情報を含めません。(不要な通信データ量を省略できます)
  • omit_total_items : trueを指定すると、totalItemsをカウントしません(より高速になります) totalItemsは0となります。
  • data_result_timeout_sec : 一覧結果取得までのタイムアウト秒数を指定します。タイムアウトした場合は、itemsは[] (空配列)となります。
  • total_count_timeout_sec : 件数取得までのタイムアウト秒数を指定します。タイムアウトした場合は-1が返ります。

一般的にデータベース内の件数が多い場合、件数カウントに時間がかかります。 対象件数が多く、タイムアウトした場合に画面からの絞込を促すなど、UI上でのコントロールを可能とするための強化となります。

データレポートで、一覧結果に関連Item情報(i_id, rev_no)を含める対応#

  • include_links : true を指定すると、Itemに関連するアイテムの情報(i_id, rev_no)を取得できるようになりました。

API Update 2021-03-25

iwask

iwask

Workspace関連APIを追加しました。 ワークスペース関連APIは、こちらのページを参照してください。

API NameMethodURIDescription
NEW[CreateNewWorkspace]POST/api/v0/workspaces新規ワークスペースを作成する
NEW[GetPasswordPolicy]GET/api/v0/workspaces/:workspace-id/password-policyワークスペースに指定されたパスワードポリシーを取得する
NEW[GetWorkspaceUsage]GET/api/v0/workspaces/:workspace-id/usagesワークスペースの利用状況(ユーザ数、DB数など)を取得する
NEW[GetWorkspaceFunctionality]GET/api/v0/workspaces/:workspace-id/functionalitiesワークスペースが利用できる機能設定を取得する