開発者に聞く!baserCMS 5系のパッケージ版とGit版の違い

はじめに

こんにちは、エンジニアの濱地です。

突然ですが、baserCMS5系には、

の2種類の入手方法がありますが、知っていますか?

この2つは実際に触ってみると、ディレクトリ構造やアップデート方法などに違いがあり、

  • どちらを使えばいいのか?
  • なぜ構造が違うのか?

と迷うことがありました。
そこで今回、baserCMSのコアデベロッパーである、ベーサーファウンデーション副理事長の桃井さんにお話を伺いながら、パッケージ版とGit版の違いについて整理してみました!

 

まず結論

種類 主な用途
Git版 開発・検証・複数人開発
パッケージ版 サイト構築・CMS利用

 

 

Git版とは

Git版は、「複数人でソースコードを共有しながら、ローカル環境を統一して開発・検証を行いやすい構成」になっています。
開発者の桃井さんによると、

baserCMSの機能やプラグイン、テーマを開発するならGit版がおすすめ

とのことでした。

Git版の特徴

  • baserCMS本体は /plugins/baser-core
  • baserCMS本体やプラグインの開発・検証向けの構成
  • テスト環境が整っている
  • モノレポ構成で管理されている
Git版では、baserCMS本体や関連プラグインが plugins 配下に配置されています。
 

baserCMSはCakePHPのプラグインとして動いている

Git版の構造を理解する上で重要なのがここです。
baserCMSは、PHPフレームワークであるCakePHP上で動作しており、CakePHPのプラグインとして実装されています。

そのため、

  • /plugins 配下に本体が存在する
  • フレームワーク構造に従う

という構成になっています。

CakePHP
 └ plugins
    └ baser-core
       ├ src
       ├ tests
       ├ config
       └ plugins

以前の baserCMS は独自のパッケージとして構成されていましたが、現在の baserCMS5 は CakePHP のプラグインとして動作する構成になっています。
そのため、Git版では /plugins/baser-core 配下に baserCMS 本体が配置されています。

また、CakePHPの公式サイトでも CakePHP のプラグインとして紹介されていますよ!

参考:baserCMSが「Awesome CakePHP」に掲載!

 

パッケージ版とは

パッケージ版は、「baserCMSを利用するために適した構成」になっています。

パッケージ版の特徴

  • 管理画面からアップデートが可能
  • サイト構築に必要なファイルのみが含まれている

パッケージ版では、Git版と同様のbaserCMS関連のパッケージは vendor/baserproject 配下で管理されています。

インストール時に、公開用のリンクが webroot 配下へ生成されます。

そのため、実際には webroot/baser_corewebroot/bc_blog などのパスからアクセスできるようになっています。
.htaccess を通して index.php が呼ばれ、CakePHPの仕組みでルーティングが行われる仕組みです。

 

ディレクトリ構造の違い

■ Git版
/plugins/baser-core

■ パッケージ版
/vendor/baserproject/baser-core

インストール後
/webroot/baser_core

Git版とパッケージ版を比較すると、含まれているパッケージは似ていますが、配置場所が異なっていることが分かります。
これは、

  • Git版 → Git管理などしやすい、開発がしやすい構成
  • パッケージ版 → 利用しやすい構成

という違いによるものです。
また、Git版の特徴として、「モノレポ構成」で管理されている点もあります。

 

(ちなみに)モノレポとは?

Git版では、「モノレポ」という構成で管理されています。
これは、複数の関連パッケージを1つのリポジトリでまとめて管理する構成です。

モノレポ構成(イメージ)

1つのリポジトリ
 ├ baser-core
 ├ bc-mail
 ├ bc-blog
 ├ bc-search-index

関連パッケージをまとめて管理する構成です。
詳しくは、公式ドキュメントの「baserCMS パッケージ構成(モノレポによるパッケージ管理)」をご覧くださいm(_ _)m

参考:baserCMS パッケージ構成(モノレポによるパッケージ管理)
 

 

アップデート方法の違い

パッケージ版では、管理画面からアップデートが可能です。
一方、Git版については、サーバー上でコマンドを実行する方法でバージョンアップをします。
※ どちらの構成でも、バージョンによってアップデートサポーターが必要です。

それぞれのアップデート方法については次の記事でご紹介できればと思っています!

■ アップデートサポータープラグイン
baserマーケット
Github

 

どちらを使うべき?

用途によって使い分けるのがおすすめです。

  • 開発・検証(複数人で環境を共有) → Git版
  • サイト制作 → パッケージ版
 

まとめ

baserCMS5のパッケージ版とGit版は、単なる配布形式の違いではなく、「用途の違い」がありました。

  • Git版 → 開発・検証向け
  • パッケージ版 → サイト構築・利用向け

「サイト構築をしたい!」や、「baserCMSの機能を利用してシステムを構築するぜ!」などの
目的に応じてbaserCMSを使い分けて、レッツエンジョイbaserCMSライフ!ヽ(=´▽`=)ノ

関連リンク

baserCMSやWebサイト構築のご相談など
お気軽にお問い合わせください

お問い合わせ
  • このエントリーをはてなブックマークに追加

AUTHOR

濱地 麻実

濱地 麻実 エンジニア

福岡県生まれ、福岡育ち、冬時期はもっぱら水炊きばかり作っています。
WEBの世界を知ってから、物事の見方がぐっと面白く広がり、それからずっとWEB制作の何かしらをしてきました。

「ああ、やっときゃよかったってことが絶対ないように。やったけどダメだったねってほうがマシ」
という宮崎駿さんの言葉を胸に、とりあえずチャンスがあったらやってみるスタイルで今に至ります。
時間も体力も環境も限りはありますが、今出来ることに尽力します。

お客様が、チームが、自分が安心できるお仕事を心がけて
日々頑張っていきたいと思っていますので、
どうぞ(引き続き)よろしくお願いいたします!

こんな記事も書いています