baserCMSではコアパッケージに梱包して配布するプラグインを「コアプラグイン」と呼びます。
コアプラグインは特別な扱いとしてベンダープラグインとは区別されます。
コアプラグインのディレクトリ名は、ハイフン区切りとします。
例)bc-blog、bc-mail、bc-custom-content
新しいコアプラグインを追加するには特別な設定が必要です。
/.gitignore
にてプラグイン本体の無視設定を解除し、シンボリックリンクの無視設定を追加します。
!/plugins/bc-blog
/webroot/bc_blog
/config/setting.php
の BcApp.corePlugins
にプラグイン名を記載します。
return [
'BcApp' => [
'corePlugins' => ['BcBlog']
]
];
baserCMSのインストールの際に一緒にインストールする場合は次の設定に追加します。
return [
'BcApp' => [
'defaultInstallCorePlugins' => ['BcBlog']
]
];
baser-core の composer.json に依存関係を追加します。
これにより、インストーラーを実行した際に一緒に取得する事ができます。
# /plugins/baser-core/composer.json
{
"require": {
"baserproject/bc-custom-content": "^3.1",
}
}
Composer で個別に管理するため、読み取り専用のGitHubレポジトリを準備し、モノレポの設定ファイルに追加します。
// .github/workflows/split_monorepo.yml
jobs:
strategy:
matrix:
package:
-
local_path: 'bc-custom-content'
split_repository: 'bc-custom-content'
コアプラグインは独自にバージョンを持ちません。次に記載する「コアパッケージ」のバージョン番号と同一のバージョンとして認識されます。
コアプラグインとは別に、プラグイン管理画面では制御せずに、baserCMSコア側で動作制御を行うものを「コアパッケージ」と呼びます。これらのパッケージは、プラグイン管理の一覧には表示されません。
コアパッケージは現在次の4つとなります。
コアパッケージは次の設定に定義されています。
return [
'BcApp' => [
'core' => ['BaserCore', 'BcAdminThird', 'BcFront', 'BcInstaller'],
]
];