はじめに

導入

運用

参加・貢献

リソース

GitHubでこのページを編集

Home / 5 / contribution / baserCMSのコンセプト・基本方針

baserCMSのコンセプト・基本方針

ここでは、baserCMSにおける開発の目的をはじめ、開発コンセプト、及び、開発方針などについて説明します。

開発コンセプト

baserCMSは、「多彩なニーズに迅速に対応できる」ことを目的としたWebサイト開発フレームワークです。

高速開発フレームワークである CakePHP を採用し、CMSでありながらも、さらに拡張しやすく、メンテナンスしやすい仕組みを目指しています。

開発方針

基本方針

Webサイト開発のエコシステムを形成するために、様々な人々と関わり合いながら開発を進め、ノウハウをソースコードにまとめ、オープンソースとして集合知を共有します。

また、モダンな開発環境で気持ちよく開発を進めることができるようにすることも大事な基本方針です。

機能実装

ベストの仕組みを検討しつつ現状の着地点を探る

開発リソースには限りがあります。今必要なものは何なのかを考え、ユーザーに提供するものは何か?を考えます。

コアをコンパクトに疎結合化を目指す

baserCMSの本体「BaserCore」は、できるだけシンプルでコンパクトな構造を保つため、機能追加に関しては慎重に検討します。開発コンセプトに合致する機能であれば「コアプラグイン」として実装します。

baserCMS コアの新機能、新しいコアプラグインについては、baserCMS 公式開発メンバーにて協議の上、実装を決定します。

コアプラグインは、2023年5月現在、baserCMSに梱包された、11のプラグインを指します。詳細については コアプラグイン一覧 をご覧ください。

なお、baserCMS本体、コアプラグインとしての実装をしないと判断される機能については、外部プラグインとして開発します。

APIを充実させる

プラグインを開発しやすくするため、必要最低限のクラスメソッドAPIや、REST APIを充実させます。

メンテナンス性を高める

メンテナンス性を高めるため、単体テストとリファクタリングがしやすい構成を目指します。

外部サービスとの連携

基本的に、永続の可能性が薄い外部サービスとの連携プログラムについては、コアへは実装しないものとします。

国際化

国際化について、オフィシャルとしては、英語のみを対応します。
なお、翻訳関数に記述するマスターとなる言語は日本語で記述します。

セキュリティ

セキュリティについては、IPA が定める「安全なウェブサイトの作り方 」に準ずるものとし、脆弱性が発生した場合の対応については、JPCERT をはじめとした各種機関と連携し、迅速に対応していきます。

なお、そのほか、Web脆弱性検査ツール「VAddy」を活用し、継続的な脆弱性検査を実施します。

バージョンアップ

CakePHPのバージョンアップへの対応

baserCMSは、フレームワークにとして CakePHP を採用していますが、CakePHP本体がバージョンアップした際、場合によってはbaserCMS側で大掛かりな改修作業が発生し、テーマやプラグインのAPIにも影響を与えることがあります。

ただし、CakePHPの開発が完全にストップしてしまわない限り、CakePHP本体のバージョンアップには、随時対応していく方針とします。

なお、CakePHP本体のメジャーバージョンアップへの対応のタイミングは、リリースより1年後を目安とします。

メジャーバージョンアップ時の対応

メジャーバージョンアップ時、後方互換が大きくなることがありますが、その際にテーマやプラグインの措置としてマイグレーションプログラムを準備し対応する方針とします。

プラグインの管理とライセンス

baserCMSプロジェクトとして管理するプラグインは、コアプラグインのみとし、全て MITライセンスとします。その他のプラグインについては、baserCMS プロジェクトでは管理しません。