この記事は「kintone Advent Calendar 2019」の21日目の記事です!
株式会社AISICの久米です。
福岡でkintoneエバンジェリストしています。
年一のQiita投稿で恐縮ですが、今年も書いてみます^^
テーマ的には、昨年の記事と似ていますが、より整理を進めてみました!
弊社のkintone開発の定石を、テンプレート的にまとめてみましたので、皆さんと共有して、よりイケてるkintone生活を送っていただきたく思います!
kintoneは上手に作らなければ『早い』だけで、変化に『弱い』システムになる
「kintoneは、早い!簡単!」って言いすぎですよね。
いや、確かに「早い・簡単」ではあるんですよ。
会社への導入にしても、アプリを作るにしても、それほどの知識が無くてもできちゃう辺りは、「早い・簡単」以外の何物でもないとは思うわけです。
そして、運用に合わせて、アプリを自分たちで簡単に変更できるのもスゴクいいところ。これも間違いない。
最初はアプリ単体での活用だったのが、数ヶ月経ってくると、複数アプリが連携する事の簡単さや強力さに感動しながら、バンバン盛り上がったりするわけです。
で、「そろそろ、バックアップとか考えないとねー」とか「特定の顧客ごとに年度毎に集計したいよねー」とか「開発環境って別にできた方がいいよね!」とかなってきたときに、**「あれ??なんか無理ゲー」**みたいになるのです。
簡単に『変わる』ために『骨』を作るべし
単に「作る」だけであれば、色々と考えなくても作りたいように作ってしまえばいいのですが、「容易に変わる・変える・変え続ける」ためには、システムとしての**『骨』をちゃんと使っておくことが肝要です。
あまり意識せずにkintoneでアプリを作ってしまうと、この『骨』が作れないので、結果的に「変化に弱い」**アプリになってしまうのです。
では、kintoneにおける変化に強いとは??
- 拡張・連携したいと思った時に、容易に拡張・連携できるようにすること
- データのバックアップ(CSV・Excel)から一括更新(リストア)ができること
アプリを作る段階では1点目が重要ですが、運用しながら変更をしていくときには2点目が重要です。
システムの『骨』をkintoneに通すという事
他アプリから利用される・連携されることを前提とした下記の様なフィールドを各アプリに設けておくとよいです。後からこれらのフィールドを追加しようとすると、当該フィールドへのデータの更新など必要以上に手間が掛かり、迅速なアプリの更新ができなくなります。
-
uid
- レコード番号ではなく、機械的に連番を採番された番号を格納する
-
ルックアップキー
- 他アプリからルックアップする際に利用されるための検索キーを格納する
-
レコードタイトル
- レコードタイトルを格納する
-
No
- 業務運営上意味のある番号などを格納する(00001 など)
カスタマイズテンプレートを使ってみるといいですよ!
上記の様な事を実現するには、ガッツリとjavascriptでのプログラミングが必要になります。ですが、プログラミングに不慣れな方が実現するのはかなり難しい。なので、上記の様なアプリをテンプレートとしてダウンロードいただけるようにしておりますので、そちらをお使いいただけるとよいかと思います。
このアプリをベースに、必要な項目を自分なりに追加していただければ、おのずと**『骨』**の通ったシステムになります。
- こちらからダウンロード
カスタマイズアプリテンプレート
- ダウンロードした**「カスタマイズアプリテンプレート.zip」**を使ってkintoneにアプリを追加する
- アプリテンプレートから作成したアプリにレコードを追加した内容
注意事項
今回ご紹介したカスタマイズアプリテンプレートは、javascriptカスタマイズをしていますので、スタンダードプランでのみ利用できます。
最後に
こういうアプリをベースにユーザー側でアプリを作っていただければ、ハイレベルなカスタマイズをしたいと思った時にでも、弊社の様なkintoneカスタマイズを請け負っている企業にスムーズに依頼・実装出来ると思います!
このテンプレートを使ってアプリを作成し、変化に強い・変化し続けるkintoneアプリを使いながら、チームワークやビジネスを素早く確実に進めていただければと思います!
追記というかお知らせ
「カスタマイズアプリテンプレート」でも利用している**kintone_tools**も作っています。kintoneのjavascriptカスタマイズをしていくときに、あったらいいなぁとライブラリです。
皆さんからのアイデアも欲しいですし、一緒に開発を進めていただける方も絶賛募集中ですので、ぜひご協力いただけると嬉しいです!