どうもこんにちはbaserCMSユーザー会のゴンドーです。
この記事は2019年baserCMSアドベントカレンダー1発目12月1日の記事です。
自分とbaserCMSの関わりを話すと下記みたいな人間です。
- baserCMSユーザー会所属
- NPO法人ベーサーファウンデーション理事
- baserCMSコアコントリビューター
- baserCMSリリース担当
まず現在の状況においてなのですが、baserCMSではCakePHP2.8が利用されています。
現在のCakePHPはメジャーバージョンが3となっていて次のメジャーバージョンである4もそろそろ出そうな状況となっています。
アップデートの話は1年以上前からCakePHP3に対応する話は出ていましたがなかなか具体的に取り組めずにいました。
最近いよいよどげんかせんといかんとのことでゆっくりではありますがCakePHP3の対応の話が進み始めました。
今回はCakePHP3対応の状況についてご紹介したいと思います。
開発コンセプト
今までは開発について依存するフレームワークの大型アップデートに対応する方法として、既存のコードをそのまま流用しバグを潰すやりかたで勧めていました。
今回のCakePHP3対応においてはアーキテクチャから見直し、思想としてのbaserCMSを保持しコードを刷新する予定で進めています。
他のプロダクトが劇的なメジャーアップデートを行う際、コードを刷新するやり方は既存のユーザや開発者を置いてけぼりにするやり方になるためかなり難しいやり方になることは間違いありません。
しかし今回はアップデートというよりは新しいbaserCMSプロダクトとして小さい機能単位でリリースし、ある程度機能が揃ったbaserCMS4か、必要最低限の新バージョンか選択し利用するような形になるかと思います。その中で、今までの利用者や開発者が一緒に育みやすい環境を構築し、参加・応援しやすい形をつくり開発を進めていきます。
開発におけるキーワード
- CakePHP3
- Git
- monorepo
- Docker
- ドキュメントファースト
- ユニットテスト
- CI/CD
- DIコンテナ
- もくもく会
上記キーワードがどのように採用・実装されるか今後の開発にもよってきますが現在では重要な課題として検討されています。