baserCMSのパッケージ構成は、basercms を親パッケージとして、BaserCore、BcAdminThird など必要とするパッケージを CakePHP のプラグインとして開発し、子パッケージとして管理しています。
Gitでクローンする本体。親パッケージとして baserCMS のアプリケーションフレームを提供します。
baserCMSのコア(BaserCore)、デフォルトの管理画面テーマ(BcAdminThird)、デフォルトのフロントテーマ(BcFront)、そしてインストーラー(BcInstaller)は、/plugins/
配下に配置し開発しています。
なお、BaserCore は、主にURLに紐づくルーティングと、ビジネスロジックを提供します。
これらのパッケージは、配布版では Composer でインストールするので /vendor
配下に配置されます。
baserCMSのコアパッケージと共にコアに梱包するいくつかのプラグインはコアプラグインとコアテーマもコアパッケージ同様 /plugins/
配下に配置し開発しています。
これらのパッケージは、配布版では Composer でインストールするので /vendor
配下に配置されます。
その他のプラグインも同様に、CakePHPのプラグインとしての開発を前提とし、 /plugins/
配下内に配置します。
なお、コアプラグイン、コアテーマ以外のプラグインのロードについて、 Composer でのインストールは不要です。 管理画面でプラグインをインストールする事で利用可能となります。
コアパッケージ、コアテーマ、コアプラグインについては、ハイフン区切り(dasherize)とし、コアに梱包したサンプルや、その他の外部プラグインについては、アッパーキャメルケースとします。
例)
コア:baser-core / bc-admin-third / bc-blog
その他:BcSpaSample
複数のパッケージを統合的に管理するためにPHP用のモノレポ 「monorepo-builder」 を利用しています。
リリース時に次のレポジトリに自動分割してコミットします。
Composer の Packagist はこちらのレポジトリに紐付いています。