Skip to content
yamamoto edited this page Jan 1, 2026 · 22 revisions

evolution-jp wiki – 今後の検討事項

本ドキュメントは、evolution-jp の今後の方向性・改善ポイントを整理したメモです。 単なる機能追加ではなく、「軽量・拡張性・長期運用」を軸に再設計することを前提としています。


1. コア構成・アーキテクチャ

  • /manager/includes/コア領域として明確に分離する

    • ブラウザから直接アクセスできない場所へ移動可能とする

    • 不要なファイルはほぼ無いが、統合できるものは統合する

  • documentParser 内の関数を以下に分離

    • API(外部から利用するもの)
    • 基本関数($modx クラスに依存しないもの)
  • HTML と PHP が混在した既存コードを整理し、可読性を向上させる

  • API を体系的に整備する


2. 軽量性・パフォーマンス

  • 軽量性を最優先事項として維持する
    • 現状:メモリ使用量 約 1.3MB
    • 他 CMS と比較しても桁違いに軽量
    • まだ改善の余地は多い

3. 管理画面(Manager)

基本方針

  • 管理画面の操作性を「リソースエクスプローラ」として強化する
  • 管理画面全体で、以下の基本操作を充実させる
    • 新規作成 / 移動 / 複写 / 削除
    • 公開 / 非公開
    • 複写先の選択

カスタマイズ性・安全性

  • 管理画面のカスタマイズを柔軟に行えるようにする
  • 管理画面の脆弱性対策としてトークンチェック方式を採用
  • 管理画面内で使用できる、Ditto 感覚の軽量リスティングエンジンを用意する

4. テンプレート・リソース管理

  • テンプレートを入れ子構造で管理できるようにする

  • 以下の要素を階層管理できるようにする

    • テンプレート
    • チャンク
    • スニペット
    • ユーザ
  • テンプレート・チャンク・スニペット・プラグイン・メンバーアカウントなどが

    • 画面に収まりきらない数になっても管理できる設計とする

5. 変数・入力制御

  • リソース変数を、テンプレート変数並みに柔軟に扱えるようにする

  • ManagerManager の思想を参考にする

    • コンテキストを自由に指定可能
    • 例:管理画面にアクセスした曜日によって入力フィールドを変更

6. エイリアス・情報構造の再設計

  • エイリアス管理を根本から見直す

  • 課題

    • ページ数が増えるほど、エイリアス管理コストが増大する
  • 方針

    • WordPress などの CMS を参考にする
    • ページ数が数万あっても、カテゴリ数は限定的である点に着目
    • isfolder 属性を持つリソースのみをツリー管理対象とする
  • これにより、管理ツリーを大幅にコンパクト化できるはず


7. エディタ・ファイル管理

  • ファイルマネージャー・リッチテキストエディタは基本的に外付けとする

    • 高機能でも、開発停止・差し替え困難は避けたい
  • 内蔵機能は、最低限のシンプルなものに留める


8. 拡張・運用

  • ブログ管理機能を持たせる

  • テンプレート・拡張機能のインストールを WordPress 並みに簡単にする

  • システムアップデートを管理画面から実行可能にする

  • イベント周りを拡充

    • $sitemenu / $resourcemenu にアクセス可能なイベント

    • documentObject の構造にできるだけ寄せる

  • エクスポート機能を充実させ、パブリッシュ感覚で本格的なサイトを書き出せるようにする


補足

  • /manager/includes/ を manager 領域とは明確に分離し、 「コア領域」であることを明示する

この整理はたたき台であり、今後の議論・検証によって随時更新する。

Clone this wiki locally