こんにちは。
ニコニコ動画で何度か100万再生以上を取ったことがあるほど声に魅力溢れるYouTuber武井です。
さて、私の声に引けを取らないほどに魅力のあるkintone。
そのkintoneで、年に4~5回行われる定期大幅アップデートが去る8/14に実施されました。
今回は、気になったカスタマイズ関係のアップデートのみ抽出し、
時に激しく、時に優しく語りかけます。
なお、私の興味があるカスタマイズ関係以外のアップデートについては、
弊社のトッティ選手が別途記事を書いているため、併せてご覧ください。
総評
率直な感想を言うと、今回のアップデート、カスタマイズ開発者/SIer/YouTuberの立場から言えば、
小粒ながら後からじわじわ効いてくる“山椒アップデート”であると言えるでしょう。
いいえ、一口目のLee20倍カレーと言った方が適切かもしれません。
あるいは、親知らずを抜いた日の夜中かもしれません。
そんなじわってるアップデートの中で、
特にカスタマイズ開発者目線で特筆すべき内容を以下にまとめてみました。
日本人に最もお伝えしたいアップデート
私が思う今回の最強アップデートは、
「JavaScriptファイルの読み込みサイズ拡張」です。
修正前:512KB以下
修正後:5MB以下
となっています。
これは、かねて私と私たちが懇願していた改善要望の一つでした。
なぜなら、512KBでは収まり切らないJSファイルが実際に発生していたためです。
そして何より、512KBで足切りする意味が分からないためです。
kintoneは基本的に、ファストSI向きのプラットフォームであって、
超大型のカスタマイズを要する大規模システム構築には不向きと言われています。
JSの512KB制限に引っかかった際にも、
「kintoneで512KB以上になるようなJSファイルを使うカスタマイズはするなという公式見解だ」
などとまことしやかに囁かれていました。
しかし、今回はついに限界突破!
5MBあればもうどんなJSゴリゴリカスタマイズシステムだってkintoneで作れますね!!
夢が広がりんぐ!!
5MBで足りない超システムが出てきたらまた声を上げますね!
次点ながら非常に有用なやつ
上記には及ばないものの、相当程度使えると踏んでいるアップデートが、
「保存成功後イベント」です。
今までapp.record.edit.submitなどでは、保存前の状態でしかイベントを発生させることができませんでした。
従って、「保存後に条件によって別のURLに飛ばしたい」等の場合、
保存後かどうかを何らかの方法で保持し、保存後の詳細画面イベントで頑張ってやるしか術がありませんでした。
しかし、このアップデートにより、その頑張りが不要になるのです!
素晴らしいです!ありがとうボウズマン!!
しかもです!
公式の情報では一切触れられていませんが、
保存後の添付ファイル情報が取れました!
これが取れないがために大変な苦労をしている人が私を含め大勢いたはずで、
めちゃくちゃ使い倒さざるを得ないAPIになります!!
保存後の添付ファイル情報が取得できる場合、
どんなパターンでヘヴン状態になれるのか、この胸の高鳴りを共有してみます!!
こんなパターンがありがちでしょう。
「従業員マスタ」の子テーブルに「関連書類」というアプリがあります。
「関連書類」の添付ファイルフィールドで顔写真や履歴書などの各従業員に紐づく書類をアップする運用です。クライアントから、「関連書類」の顔写真を「従業員マスタ」にも登録したいと言われました。
しかし、関連レコード一覧フィールドは検索機能の制約が強すぎて絞り込めない(後日ブログで紹介予定)ので、
従業員マスタに添付ファイルフィールドを用意して、
「関連書類」にアップしたら、同じファイルを「従業員マスタ」にもアップするという要件になりました。
状況がわからん!という方もいるかもしれませんが、
まあとにかくアップした書類を、保存直後にいじりたい場合があるんですよ、しばしば。
この場合、今までは、やはり保存後の詳細画面イベントで頑張るしかありませんでした。
今回のアップデートによって、この頑張りが緩和されますね!!たまらん!!
5馬身は開くが、使い時のありそうなもの
上記2つに比べ、有用度に見劣りはするものの、一定程度役立つと思われるものとしては、
「自動計算フィールドでDATE_FORMAT関数利用可」があります。
日付フィールドについて、「yyyy年MM月DD日」等の任意の形式で出力することができるようになるのです!
正直言ってkintoneの計算フィールドは現状超使いにくいため、
カスタマイズで済ませてしまうケースもままあるのですが、
このアップデートにより、カスタマイズなしで何とかなる率が高くなる予感がします。
ただし、計算対象フィールドに入力がない時に「#N/A!」が表示されてしまうなど、まだ改善の余地は大きいです。
残念ながら、求めているのはそこではないもの
- 「印刷画面の表示イベント」
- 「印刷画面が改善(罫線がくっきり)」
これらは、必要な人もいるであろうし、改善には間違いないのですが、
カスタマイズ開発者としては、印刷画面での喫緊の課題はすなわち
「JavaScriptで出力/表示しているものが印刷画面に表示されないこと」です。
これができないがために、kintone標準印刷機能以外での印刷方法を模索せざるを得ないクライアントがいます。
むしろ、ここが改修されることによって、上記のアップデートはより生きるのだと思います。
助けて!ボウズマン!!
DOM使用のカスタマイズを行っている方向けへの情報
今回、kintoneのクラス名等が変更されるかどうかの案内は今のところありませんが(というか今まで一度たりともありませんが)、
アップデート情報から推測した、変更可能性がある箇所をピックアップしました。
- レコード印刷画面
- 自動計算フィールド
- 検索バー
- 検索結果画面
- ポータル画面
- 一覧画面(index.show)
- (旧デザ)画面右上ユーザ名クリック時のメニュー
- 画像のスライドショー
- グラフ
- (旧デザ)関連リンク
- (旧デザ)スレッド内アプリ
※モバイル版の各画面もDOM変更になっている可能性があるが、
我が「モバイル版はそもそも現状カスタマイズに堪えない」というスタンスのために省略。
これらの要素でDOMを使用している場合には注意を要するでしょう。
また、先行アップデート環境が一部利用者に提供されていますが、
これを全利用者向けに公開すべきであると思います。
現状、kintoneとDOM使用カスタマイズは、顧客の要件を満たすために切っても切り離せない関係だからです。
公開ができないのであれば、クラス名変更時には、変更される旨を予告するべきだと考えます。
「アップデートに伴うシステムの停止」を防ぐためにサイボウズ社と開発者による互助が肝要でありましょう。
その他、アップデートに関するTips
- 「・アクセス権の設定の変更中は、レコードを追加できないように変更。」
これは、アクセス権限の変更とレコード追加のタイミングが重なると、
レコードのデータがワケワカラン状態になることがあるためです。
(要はデータ不整合が起こる)
私の担当案件で起きたため、よくよく覚えております。
ちなみにこの状態が既に発生してしまった場合は、アクセス権を空更新すると直ります。
事の経緯を実体験している私からすると、
これがアップデート一覧の「不具合改修」欄でなく「仕様変更」欄に書いてあるのは
(?・・)ン?
という気持ちがなきにしもあらずです。
しかし総じて今回のアップデートはkintoneが一段も二段も利用しやすくなる良アップデートとなりました。
ありがとうボウズマン!