kintone の基本的な機能について質問させていただきます。
あるアプリAの特定のフィールドFが、別のアプリBからの操作で変更されたとします。
(つまり、アプリAを開いて人が操作するのではない状態)
アプリAをJavascriptでカスタマイズすることによって、フィールドFの値の変更をイベントとして捉え、アプリAに設定した Javascript で何らかの動作をさせることは、可能でしょうか?
どうぞよろしくお願いいたします。
kintone の基本的な機能について質問させていただきます。
あるアプリAの特定のフィールドFが、別のアプリBからの操作で変更されたとします。
(つまり、アプリAを開いて人が操作するのではない状態)
アプリAをJavascriptでカスタマイズすることによって、フィールドFの値の変更をイベントとして捉え、アプリAに設定した Javascript で何らかの動作をさせることは、可能でしょうか?
どうぞよろしくお願いいたします。
yuiさん、こんにちは。
『【アプリA】の「フィールドF」を、【アプリB】からの操作で変更する』という処理ですが、
こちらは、【アプリB】に設定されたJavaScriptで実行されると思います。
この処理の実施後のタイミングで、何かしらの処理を実施したいというご質問だと思います。
そうなりますと、【アプリB】で設定しているJavaScriptの、
『【アプリA】の「フィールドF」を、【アプリB】からの操作で変更する』
処理の後ろにやりたい処理を書けば良いかと思います。
どうしても、アプリAで設定したJavaScriptで設定したい理由等ありましたら、
記載いただけると良いかと思います。
田中太郎様、さっそくご返信ありがとうございます。
じつは「アプリB」という言い方は正確ではなく、私の職場でCUSTOMINEというプラグインを利用していまして、CUSTOMINEのなかに、「定期実行タスク」という機能があり、人手を介さずに一定の時刻に予め設定しておいた動作をさせることができます。
ただし、CUNTOMINEで出来る動作は数多くあるのですが、予めプラグインで用意されているものに限られるため、kintone 側で独自の機能を Javascript(あるいは他の言語でも)で作成しておき、CUSTOMINEの定期実行タスクで可能な動作(例えば或るフィールドの値を変更する)をきっかけとして、定期実行タスクでは用意されていない動作をさせることができないものかと考えました。
「アプリB」とは実際には kintone のアプリではなく、CUSTOMINE等の説明をすると複雑になるため、「アプリAではない別の何か」の意味で「アプリB」として説明させていただいたものです。すみませんでした。
自分でも Javascript という仕組み上、そのような事はどうも無理っぽい気はしているのですが、どなたか良い方法をご存じではないかと思い質問させていただきました。
CUSTOMINEを使われているのですね。
実際にやりたい処理が不鮮明なので、適した方法か分かりませんが
(おそらく①は適していない、②③もベストではないと思いますが、)
ジャストアイデアになっていしまいますが、3つ回答させていただきます。
①Webhookを利用する。
kintoneには、レコードの更新等が行われた際に、外部へその内容を送信する
Webhookという機能がございます。
Webhookを設定する | kintone ヘルプ
CUSTOMINEでのレコード更新の際に、
こちらの機能を用いて外部のサーバー等で更新内容を受け取り、
サーバーからkintoneに処理をかけに行く等の方法もございます。
しかし、アプリのJavaScriptで行うのではないという点や、
CUSTOMINEでのレコード更新が、複数件を一括に行っている場合は、
用いることができないなどの縛りもありますので、
こちらは、適していないかと思っています。
②アプリにボタンを配置して、ボタンを押下して、処理を行う運用にしてもらう。
CUSTOMINEでの処理が、定期実行とのことなので、
もし1日1回深夜に動くバッチのような処理を設定されているのでしたら、
朝一出社したら、このボタンを押してねという運用にして、
ボタン表示と、押下時の処理を【アプリA】のJavaScriptに書くという方法です。
③アプリ画面表示時に、処理が行われるようにする
CUSTOMINEの定期処理が、1日1回等でしたら、
最悪、②のボタン押下の運用も可能かと思いますが、1日複数回の場合は難しいと思います。
その場合ですが、
CUSTOMINEの定期処理の時間を超えたタイミング、かつ、
初めて、ユーザーが該当のアプリを表示させたタイミングで、
更新処理を実施するJavaScriptを書く方法です。
ただ、ユーザーが初めてアプリを表示させたかどうかの情報を、
別アプリに保持する等、開発や設計のコストは少し大きくなるかと思います。
3つ書かせていただきましたが、正直なところ、
あまり良い方法とは思えていないため、
(条件や要望と合うのであれば②は有りかなとは思っていますが)
運用回避や、根本的に別の解決方法がないか等を考えるのが良いのかなとは思っております。
頑張ってください。
田中太郎様、詳細なご回答をいただき、ありがとうございます。
いただいた情報を参考に、よく考えてみたいと思います。
有難うございました。
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。