Backend Team Monthly vol.4【 kintone 】

弊ロジカルスタジオでは、エンジニアの業務ごとにチームに分かれて活動しています。
バックエンドチームでは、活動の一環としてMonthlyを発信しています!

日々の業務でぶち当たったことや疑問に思ったこと、調べたことをベースに、 自己学習やたまたま見かけた面白い情報なども交えながら、情報共有できればと思っています。

今回は kintone 関連の話題をピックアップしてお届けします。

前回の記事はこちらになります。よろしければ併せてご覧ください!

 

Backend Team Monthly vol.3【 kintone / Linux / PHP / MinIO 】

 

1.【kintone】多言語化プラグインの作り方

kintoneでは多言語化することが可能です。切り替えれる言語は下記となります。

  • 日本語
  • 英語
  • 中国語(簡体字)
  • 中国語(繁体字)
  • スペイン語
  • ポルトガル語(ブラジル)
  • タイ語
  • マレー語

ユーザーごとの言語設定は、アカウント設定から変更することが可能です。

上記の設定を下記で簡単に取得することが可能となります。

const loginUserInfo = kintone.getLoginUser();
// loginUserInfoの型
interface LoginUser {
  id: string;
  code: string;
  name: string;
  email: string;
  url: string;
  employeeNumber: string;
  phone: string;
  mobilePhone: string;
  extensionNumber: string;
  timezone: string;
  isGuest: boolean;
  language: string;
}

kintone JavaScript APIを使用しているため、APIの使用回数にもカウントされないです。

loginUserInfo.language から取得した言語設定で、表示するテキストの切り替えを行います。

reactであれば、react-i18nextなどの簡単に多言語化対応可能なライブラリもあります。

ただし、アプリと連携する場合は注意が必要となります。

添付の様に、現状アプリ側では日中英の3言語しか対応していないです。

プラグイン側ではスペイン語の表示で、アプリ側では英語の表示の状態になってしまう可能性があります。

アプリ側でも、アカウント設定と同様の言語設定ができるようになるのを待つしかありません。

多言語化する機会は多くはないと思いますが、機会があればぜひ使ってみてください。

参考:

https://zenn.dev/mtea/articles/react-i18next

https://cybozu.dev/ja/kintone/docs/js-api/kintone/get-login-user/

 

 

2.【kintone】メンテナンスモードを使用する時の注意!アプリが開けなくなってしまった場合の対処法

kintoneには、アプリをメンテナンスモードにする機能があります。

その名の通りアプリをメンテナンス状態にする機能で、許可された作業者以外、アプリを開いても一切の操作ができない状態になります。

設定も簡単で、アプリの設定画面から

「設定」タブ→右下あたりの「運用管理」グループ内の「アプリのメンテナンスモード」

を選択することで、以下のような画面が表示されます。

「メンテナンスモードを有効にする」にチェックを入れ、メンテナンス作業者を選択(大抵の場合自分自身)し、保存を押下するだけです。

この時、ついメンテナンス作業者の選択を忘れて保存してしまうと・・・

自分も締め出されます。

設定でメンテナンス作業者を追加しようにも、そもそもアプリから設定画面に入ることができず、詰んでしまいます。

実はこの状態でも、ヘッダーの歯車マークから「アプリ管理」を選択し、メンテナンスモードにしてしまったアプリの歯車マークを押すと、設定画面を表示させることができます。

(逆に言うと、メンテナンス作業者以外でもこの方法で設定画面に入れてしまいます)

改めてメンテナンス作業者を設定すれば解決です。

メンテナンスモードはあまり使う機会がないにもかかわらず、いざ使うときはリリース作業など重要度の高い作業を行うことが多いので、焦らず対処できるよう覚えておくのがいいでしょう!

そもそもメンテナンス作業者の入力を忘れなければいいだけの話ですが……

 

3.【kintone】ルックアップフィールドを実質重複不可にする方法

在庫管理アプリなどで、商品コードをキーとして重複不可としたい。
同時に、商品コードを用いて商品マスタからルックアップで情報取得したい・・・

そんなことはないでしょうか。

ルックアップフィールドは重複不可にできないため、
通常では上記を同時に実現することは不可です。

商品名など、商品コード以外のフィールドをルックアップフィールドに設定し、
商品コードはただはルックアップでのコピーフィールドとすれば解決しますが、
商品コードをコピペして取得する運用を想定している等の理由で採用できないケースもあります。

その場合は以下の設定がオススメです。

  • 新たに文字列フィールドを設置し、そのフィールドを重複禁止に設定。
  • その設置したフィールドを商品コードでのルックアップのコピーフィールドとし、商品コードを設定。

当然同じ内容が重複して登録されますが、設置した文字列フィールドは重複不可のため、
被っていた場合は検知することができます。

重複不可にしたフィールドは情報としては不要なので、
可能な限り見えないようアプリ最下部にグループを作成し中に入れておきましょう。

注意点として、CSV取り込みをする際、商品コードをキーとして設定できなくなります。
(重複不可のフィールドしかキーとして設定できないため)

 

4.【kintone】意外と盲点?自分で自分の権限を変更できる!

複数人でkintone開発しているとき、アプリを作っておいたよと言われ見てみると、
肝心のアプリ編集権限がない・・・なんてことありませんか?

デフォルトの状態では作成者にしか編集や削除の権限がなく、
都度設定する必要があります。

作成者の人に再度連絡して付与してもらえば済む話ですが、
お互いひと手間かかって面倒ではないでしょうか。

そんな時、自分にkintoneシステム管理者の権限があれば、
自分で自分のアプリに関する権限を変更することができます。

やり方もいたってシンプルで、
アプリの設定→アクセス権の「アプリ」→権限変更するだけ。

 


最後までお読みいただきありがとうございました。

Backend Team Monthly は今後も更新予定ですので、お楽しみに!

また、ロジカルスタジオでは、エンジニアを募集中です。

ぜひ下のバナーから確認してみて下さい!