kintone 初代開発環境の棚卸し

2020年12月で、kintone 初代開発環境が廃止されますので、アプリの棚卸しを行ってみます。
初代開発環境には、kintone 開発案件、プラグイン開発など約５年お世話になりました。
今は、新しい開発環境をメインに使っていますが、移行が面倒なものは旧環境にしかありません。
断捨離するよい機会です。

# kintone 初代開発環境の廃止について

[kintone 開発者ライセンス（開発環境）](https://developer.cybozu.io/hc/ja/articles/200720464-kintone-%E9%96%8B%E7%99%BA%E8%80%85%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9-%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83-) にあるように、***「2020年12月31日に、2017年9月20日 12時までに申し込みをされた開発者ライセンスに基づく環境提供は終了します。」***


# アプリ数

688個のアプリで、カスタマイズが 403個。結構ありますね。
ディスク使用量も 4.1GB。何に使ってるんだろ。

<img width="599" alt="2019-11-24_11h17_18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/44bbcd6c-6b83-952f-ffad-9d248aff6790.png">


# 最初のアプリ（2014年）

2014年6月から使っているらしい。最初のアプリは日報アプリ。
テンプレートから作成したアプリだと思ったが、レコードを見るとサンプルデータが入っている。
そういえば、最初のログインからいくつかアプリがあったような気がする。
あとは試しに入れたテンプレートから作ったアプリや、提案用に作ったアプリやらが並んでる。

<img width="1068" alt="2019-11-24_11h57_16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/0ef729f9-3c2e-0ee9-3d1c-95e28bf2f2f4.png">


# レコード数の多いアプリ（2017年）

郵便番号アプリで約12万件のレコード数。
REST API のテストで、大量データ検証にも使ってた。

<img width="1074" alt="2019-11-24_12h12_42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/0280bc19-f514-cf8d-a3f9-91debcb058d1.png">

郵便番号アプリ
公式の郵便番号データを取得して、アプリ化したもの。
公式の郵便番号データ自体に誤りもあり、クレンジングが必要。
県境の郵便番号などは、入り乱れてきっちり体系化されていないので困惑した覚えが。
また毎年、データが変わるので継続的に最新データを使うのは無理でした。

<img width="477" alt="2019-11-24_12h14_14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/00c8e683-2444-404c-4430-6e0aa8ec89f0.png">


# フィールド数の多いアプリ（2017年）
フィールド数1128個のアプリ。プラグイン設定の検証用にフィールドをどんどん増やしていった結果です。
まあ、1000個あるアプリでプラグインが動けば、どんなアプリでも大丈夫だろうと作りました。
こんなアプリを作ったせいか、しばらくしてkintoneの仕様変更があり、フィールド数500個制限となりました。
いまでは、こんなに多いフィールド数のアプリは作れません。

<img width="1075" alt="2019-11-24_15h40_58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/0bda9345-2215-0d5e-f0bc-61f9fae36c97.png">

# Excelレポートツール (KReport)（2015年）

最初は、kintone 外部連携のしくみを作ってみたけど、全然売れなかった。
これは、Excel VBA で、kintone アプリからデータを取得して、レポート・グラフを作るツール。
いや、Excel から kintone に移行したのに、Excel に戻ってどうする？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/8e22799c-1871-69d5-d699-039d6928b115.png)

ウイザードで、レポートを生成できる仕組みも組み込んでた。
複数アプリの集計までサポート！。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/f136ff1c-53dc-5ee7-9933-88d2519c9ca1.png)


# [KBrowser](https://qiita.com/rex0220/items/79f594a581b9b37693d9)（2015年）
アプリの設計情報から、外部公開用にフォームを再現。なんとなく懐かしいデザイン。
安いレンタルサーバーで動作するように、勉強がてら PHP で作ったもの。
ルックアップや関連レコードも再現しているから頑張ってた。
エラーチェック機能なんかは、項目検証プラグインに引き継がれているかも。
作るのは楽しかったが、サーバー運用や集金が面倒で販売は断念。
いまは、アプリの設計情報を取得するAPIもあるので、当時より作りやすいか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/b199d0d2-8f14-73a8-9118-fa64a471d373.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/e320304f-c0d9-5c90-a466-629c1dcea29d.png)


# [SpreadJS による計算](https://qiita.com/rex0220/items/43956808a0d066e87617)（2016年）

すでに販売停止になっているSpreadJS で、レコード内にシートを表示。
簡単に計算式を組み込んで見たいと思ったようだ。
SpreadJS の組み込み販売は、ライセンス的に無理ということで、計算式プラグインを作るきっかけになった気がする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/6a4d98e7-4d40-b39a-2f28-6f91c33a9f56.png)

# JS による帳票印刷（2016年）
kintone の印刷が貧弱だったので、JS で何とか出来ないか試作。
書式アプリに、フィールドと CSSの書式を指定すると、なんとなくそれらしく表示できる。
印刷書式に、HTML と CSS の知識が必要になるので、一般ユーザーには無理かなと思い断念。
あとブラウザーによって、印刷結果が微妙に異なるのも問題。

印刷プレビュー
<img width="750" alt="2019-11-24_17h01_54.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/def24af6-f3f3-6cbd-784b-b7e3d3b7a07d.png">
元データ
<img width="760" alt="2019-11-24_17h02_31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/9525fbb8-68ba-10ff-196d-e8e22a271d0c.png">
書式設定
<img width="816" alt="2019-11-24_17h03_49.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/275f9260-7379-1457-3cbf-3fec38911ccc.png">

# [kintone で、SQL を使う](https://qiita.com/rex0220/items/4d0c757344e8ac144f8d)（2017年）
RDB のように、SQLが使えないか試した結果、なんとかなった。

```.sql
alasql(
"SELECT cust.[会社名], cust.[顧客ランク], SUM(orders.[受注金額]) as [受注金額] \
FROM ? AS cust JOIN ? AS orders ON cust.[会社名] = orders.[顧客名] \
GROUP BY cust.[会社名], cust.[顧客ランク] \
ORDER BY cust.[会社名]", [obj.rs1, obj.rs2]);
```
集計結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/c68f3dd2-4dc5-c391-92fd-e773c852ed61.png)


# [google map で、市区町村を選択](https://qiita.com/rex0220/items/4e593ea0b85b341abfd9#google-map-%E4%B8%8A%E3%81%A7%E5%B8%82%E5%8C%BA%E7%94%BA%E6%9D%91%E3%82%92%E9%81%B8%E6%8A%9E) （2017年）
静岡県の市区町村をポリゴンで表示し、エリアをクリックして市区町村を選択するしくみ。
市区町村のポリゴンを map 用に調整するのが面倒だった気がする。
全県のポリゴンを作りかけて、すぐに断念。東京の島々が多すぎた。
google map の利用料金がネックになって、しばらく触っていなかったもの。

最近、google map の料金が下がったらしいので、利用しやすくなった？
ただマップに関しては、いいプラグインが出ているからもう出番は無いな。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/eea4328d-5d0f-5056-5d76-cfebd954acbc.png)


# [論理回路](https://qiita.com/rex0220/items/3a09b0c59f381bfed795)（2017年）
論理回路ライブラリを見つけたときは、単純にうれしくてkintone に組み込みました。
基本的な回路を組み合わせて、最終的にストップウオッチが出来て、動かせたのが感動。

<img width="736" alt="2019-11-24_16h15_27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/6c5199b5-e546-83df-ac8c-269e9396ef5e.png">
操作例
![2019-11-25_01h40_48.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/450a64d1-d00b-a881-84b6-da0c15b1764d.gif)



# [データビューア](https://qiita.com/rex0220/items/2f765cca6008b8f2fff3)（2017年）
1レコードに、集計対象アプリと一覧を指定すると集計・グラフにしてくれるしくみ。
複数アプリのデータを取得・集計する変更を仕掛かってそのままになっていた。
あとライブラリのオプション指定を日本語化するのが面倒。

集計
<img width="1054" alt="2019-11-24_16h43_55.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/895dc5ac-a345-d31a-0a0e-15b7cf241272.png">

グラフ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/75e833cc-2b73-bb77-2432-5835fb4269c0.png)

# [画像認識](https://qiita.com/rex0220/items/425020390dd59fdba1c9)（2017年）
Azure の画像認識。何か使い道はないだろうか？
２年経っているから当時より認識精度が上がっているかも。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/377b0fee-ed80-b59d-e54f-d557dac2a664.png)

# 車両予約管理（2017年）
車両予約管理を試作したもの。

<img width="1113" alt="2019-11-24_17h35_58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/d914200d-ae93-af94-9fa8-eb01d26a56cb.png">



# 画像一覧（2018年）
社員管理アプリで、社員の顔を一覧で見たいという要件で、カスタマイズ。
顔写真の代わりに時計のイメージでテスト。
需要があれば、プラグイン化を検討しようと思っていた気がする。

<img width="1105" alt="2019-11-24_17h27_32.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/637cdd51-3cf9-dd1b-84ab-3680a4b887cd.png">

# バーコード一括処理（2018年）
バーコードリーダーで、消込用データを読み込み、一括処理するしくみ。
プラグインで出来ないか相談された案件で、汎用化が面倒なので JS カスタマイズで対応。
こちらもプラグイン化してもいいかも。

<img width="1113" alt="2019-11-24_17h52_59.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100572/24afa9a5-67ce-f001-87c7-610d0139ac08.png">


# あとがき

旧開発環境を棚卸してみると、懐かしいもの・やりかけのものがいろいろ出てきました。
何をやりかけたのか思い出せないものが結構ある。
新開発環境に移行するにしても、あと一年しかありません。
夏休みの最後の日まで宿題が残っているタイプだったから、うーーん移行は無理か。
少なくともプラグインのテスト環境は移行しよう。