baserCMS5の開発用レポジトリです

Overview

Project to migrate baserCMS to CakePHP4

Software License

Test

ucmitz 🐮 🐮 🐮 は、baserCMSをCakePHP4化するためのプロジェクトの開発コードネームです。

バージョン1からバージョン3までのマイルストーンを設定しており、バージョン3のリリースと同時に、baserCMS5に移行し、ucmitzプロジェクトは削除される予定となっています。

ucmitz は、現在、CMSとしての機能はありませんが、Webアプリケーション開発プラットフォームとして利用できます。 現在開発中のバージョン1.0.0では、ログイン認証付きのリッチな管理画面とユーザー管理、ユーザーグループ管理、プラグイン管理が利用できるようになっており、独自のCMS開発やAPI開発を行う場合に、開発工数を短縮できます。

また、CakePHP4のプラグインとして開発されていますので、CakePHP4のプロジェクトにおいて簡単に導入することができます。

You might also like...
Comments
  • APIのURL構成を検討

    APIのURL構成を検討

    APIについて、現状は、JWT認証を前提としている。 APIでの処理については、パブリック(公開されたデータ)なものとクローズドなもの(非公開のデータ、登録、更新、削除)があるため、URLの階層を分けるか検討する。

    現在は、名前空間 BaserCore\Controller\Api にて、BcApiController を継承する事により自動的に認証がかかるようになっている。

    URLは次の形式となる。

    https://localhost/baser/api/baser-core/user_groups/index.json
    https://localhost/baser/api/baser-core/user_groups.json (REST API)
    

    これを次のように分けるかどうかを検討する。

    // パブリックな処理
    https://localhost/baser/api/baser-core/user_groups/index.json
    // クローズドな処理
    https://localhost/baser/api/admin/baser-core/user_groups/index.json
    

    ただし、baserCMSでは、admin は、認証されている事を指すのではなく、管理画面を指している。 また、URLを分ける事で複雑になってしまう側面もあるため、URL体系は同一として次のように、一つ一つパブリックな処理を許可する前提とする事も検討する。

    $this->Authentication->allowUnauthenticated(['index']);
    

    また、セキュリティの観点から、パブリックな処理をそもそも許容するのかどうかも検討する。 (ユーザー認証ではなく、OAuthやbasic認証などのアプリーケーション認可)

    Review 
    opened by ryuring 4
Releases(3.0.0)
  • 3.0.0(Dec 21, 2022)

    baserCMS 開発チームは、baserCMS5の開発版である、ucmitz の新バージョン 3.0.0 が利用できるようになったことを発表します。 これは 3.0.0 の安定版リリースです。

    ucmitz 3.0.0 ダウンロード(GitHub)

    ucmitzについて

    ucmitz(ウシミッツ)は、CakePHP2系を利用しているbaserCMS4をCakePHPの最新版である4系に対応するためのプロジェクトであり、その開発コードネームになります。

    バージョン1からバージョン4までのマイルストーンを設定しており、バージョン4のリリースと同時に、baserCMS5に移行し、ucmitzプロジェクトは削除される予定となっています。

     

    ucmitz 3.0.0 のリリースについて

    ucmitzは、現在、baserCMS4のほとんどの既存機能の移行が完了しており、Webアプリケーション開発プラットフォームとして利用できます。現在開発中のバージョン3.0.0では、独自のCMS開発やAPI開発を行う場合に、開発工数を短縮できます。 ただし、全て機能のテストが完了しておりませんので、注意が必要です。2023年2月頃よりベータテストを実施予定です。

    既存機能の移行

    • NEW: [BC] ブログ機能の移行が完了しました。
    • NEW: [CL] コンテンツリンク機能の移行が完了しました。
    • NEW: [ET] エディタテンプレート機能の移行が完了しました。
    • NEW: [FV] お気に入り機能の移行が完了しました。
    • NEW: [IN] インストーラーの移行が完了しました。
    • NEW: [ML] メールフォーム機能の移行が完了しました。
    • NEW: [SI] サイト内検索機能の移行が完了しました。
    • NEW: [TC] テーマ設定機能の移行が完了しました。
    • NEW: [TF] テーマファイル管理機能の移行が完了しました。
    • NEW: [UP] アップロードファイル管理機能の移行が完了しました。
    • NEW: [WA] ウィジェットエリア機能の移行が完了しました。

     

    インストールする

    baserCMS5の開発版をインストールして試してみたい場合は、baserCMS5インストール手順 をご覧ください。

    CakePHP4に導入する

    baserCMS5は、CakePHP4のプラグインとして開発されていますので、CakePHP4のプロジェクトにおいて、composerで簡単に導入することができます。

    baserCMS5の Packagist

    baserCMS5 の各パッケージについてはモノレポで分散管理しています。Pakagist はこちらです。

     

    baserCMS5で実装予定の新機能

    "最高の"Webアプリケーション開発プラットフォームを目指して、楽しく安心で使いやすいパッケージにしていきます。

    • カスタムコンテンツ 投稿画面の項目を自由に設定でき、フロントエンドで自由にレイアウトできるようになります。
    • REST API ヘッドレスCMSやマルチデバイスに対応できるようになります。
    • オートアップデート 軽微の修正は自動的にアップデートできるようになります。
    • ダッシュボード強化 PV / UU、ページ表示速度、SNS流入、ページランキング、お問い合わせ数、リンク切れページの一覧など、Webサイトの健康状態をひとめで把握できるようなダッシュボードを目指します。

     

    バグを見つけたら

    開発版ですのでまだまだバグが多い状況ですが、バグを見つけたら、GitHub の Issue または、ユーザーズフォーラム にお知らせください。

     

    開発への貢献について

    ucmitz、及び、baserCMSはボランティアベースで運営されているオープンソースプロジェクトです。baserCMS5の開発にご興味のある方は、毎月第4水曜日に GoogleMeetで開催しているbaserCMSネクストミーティングにぜひご参加ください。 次回は1月25日19:00より開催します。

    ここでは、ucmitz の開発に関する情報共有や、毎月1度のオンライン開発合宿のアナウンスを行っています。

    また、baserCMSプロジェクトへは開発サポートを含め、様々な形で参加する事ができます。詳しくは、baserCMSのユーザーコミュニティーをご覧ください。

    開発への貢献方法

     

    ucmitz 3.0.0 の開発貢献者

      このリリースの実現に貢献したすべての貢献者に感謝します。

     

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(May 16, 2022)

    baserCMS 開発チームは、baserCMS5の開発版である、ucmitz の新バージョン 2.0.0 が利用できるようになったことを発表します。 これは 2.0.0 の最初の安定版リリースです。

    ucmitz 2.0.0 ダウンロード(GitHub)

    ucmitzについて

    ucmitz(ウシミッツ)は、CakePHP2系を利用しているbaserCMS4をCakePHPの最新版である4系に対応するためのプロジェクトであり、その開発コードネームになります。

    バージョン1からバージョン3までのマイルストーンを設定しており、バージョン3のリリースと同時に、baserCMS5に移行し、ucmitzプロジェクトは削除される予定となっています。

     

    ucmitz 2.0.0 のリリースについて

    ucmitzは、現在、baserCMS4の全ての機能の移行が完了できていませんが、Webアプリケーション開発プラットフォームとして利用できます。 現在開発中のバージョン2.0.0では、ログイン認証付きのリッチな管理画面とユーザー管理、ユーザーグループ管理、プラグイン管理、コンテンツ管理、固定ページ機能が利用できるようになっており、独自のCMS開発やAPI開発を行う場合に、開発工数を短縮できます。

    新機能

    • フロントエンドテーマが表示できるようになりました。
    • コンテンツ管理機能を実装しました。
    • 固定ページ機能を実装しました。

    変更点

    • CakePHP 4.3.8 に対応しました。
    • baserCMS4のフロントエンドテーマ「bc_sample」を「bc-front」としてデフォルトテーマに設定しました。
    • コントローラーからビューへのデータの引渡しについて積極的にサービスクラスを利用するようになりました。

     

    CakePHP4に導入する

    ucmitz は、CakePHP4のプラグインとして開発されていますので、CakePHP4のプロジェクトにおいて、composerで簡単に導入することができます。

     

    Packagist

    ucmitz のパッケージについてはモノレポで分散管理しています。Pakagist はこちらです。

    • BaserCore(baserCMSコアパッケージ)
    • BcAdminThird(管理画面デフォルトテーマ)
    • BcFront(フロントエンドデフォルトテーマ)

     

    baserCMS5で実装予定の機能

    “最高の”Webサイト構築プラットフォームを目指して、楽しく安心で使いやすいパッケージにしていきます。

    • オートアップデート 軽微の修正は自動的にアップデートできるようになります。
    • ダッシュボード強化 PV / UU、ページ表示速度、SNS流入、ページランキング、お問い合わせ数、リンク切れページの一覧など、Webサイトの健康状態をひとめで把握できるようなダッシュボードを目指します。
    • カスタムコンテンツ 投稿画面の項目を自由に設定でき、フロントエンドで自由にレイアウトできるようになります。
    • REST API ヘッドレスCMSやマルチデバイスに対応できるようになります。

     

    開発への貢献について

    ucmitz、及び、baserCMSはボランティアベースで運営されているオープンソースプロジェクトです。ucmitzの開発にご興味のある方は、毎月第4水曜日に GoogleMeetで開催しているbaserCMSネクストミーティングにぜひご参加ください。 次回は5月25日19:00より開催します。

    ここでは、ucmitz の開発に関する情報共有や、毎月1度のオンライン開発合宿のアナウンスを行っています。

    また、baserCMSプロジェクトへは開発サポートを含め、様々な形で参加する事ができます。詳しくは、baserCMSのユーザーコミュニティーをご覧ください。

    開発への貢献方法

     

    ucmitz 2.0.0 の開発貢献者

      このリリースの実現に貢献したすべての貢献者に感謝します。

     

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Jun 4, 2021)

    baserCMS 開発チームは、baserCMSの開発版である、ucmitz 1.0.0 が利用できるようになったことを発表します。
    これは 1.0.0 の最初の安定版リリースです。CMSとしての機能はまだなく、baserCMS4系への後方互換もいまのところありませんが、CakePHP 4系のプラグインとして開発しているため、開発の土台として利用できます。

    新機能

    • CakePHP 4.2.6 に対応しました。
    • baserCMS4の管理画面テーマ「bc-admin-third」を移植しました。
    • baserCMS4のユーザー管理およびログイン処理を移植しました。
    • baserCMS4のユーザーグループ管理を移植しました。
    • baserCMS4のプラグイン管理を移植しました、
    • baserCMS4のイベントシステムを移植しました。
    • モノレポとして MonorepoBuilder を導入しました。
    • DBマイグレーションを導入しスキーマの管理をするようにしました。
    • DIコンテナによりサービスクラスを導入するようにしました。
    • REST API に対応しました。
    • REST API における JWT認証を導入しました。

    1.0.0 への貢献者

    このリリースの実現に貢献したすべての貢献者に感謝します。

    • humuhimi
    • seto1
    • momofff
    • gondoh
    • kaburk vyama
    • Diwamoto
    • yocomado
    • ryuring
    Source code(tar.gz)
    Source code(zip)
Owner
baserproject
Based Website Development Project
baserproject