Loading...
 

タイプレスCMS

1180429 05:57:02

以下の説明 1つの単位をPageと呼びます。

タイプレスCMSとは

SOUKO/IMSが自前開発し使用していたCMSソフト

特徴は?

ポケット1つ
Nuke系でいうブロックも同じtableで構成。
レンダリングはロジックなし。smartyのようなif文なし。
OSSならではの汎用性による複雑さ重さを回避しつつ、
すべて自前のデメリットを少なくする考え。
静的サイト部分もあり。
単にIDEで追加の静的page(phpで動的だが HTMLのみの)somepage.php
を書いて 他からリンクはるのみ。

なぜOSSで公開しなかったのか?

開発者に共通の開発環境が必要となったので。
統合環境IDEでHTMLデザイン/複雑なSQL(部分的にはジェネレート)するような形になり
OSSとして開発者誰でもという形にはならなかった。
またユーザーが使う場合のI/Fまで充分用意すると、本来の目的は別のメンテが必要になった。
LocalでIDEで済む部分をOSS用にWebで動的にする部分でいい方法が見つからなかった。

公開予定は?

現在公開予定はありません。

現在でこの考えに近いシステムは?

Tikiwikiで、Pageのみ使用すれば近いです。
他、フレームワークを使った自前構築でも、考え方は参考になるはず。

コントローラーは?

Pageコントローラー。
(フロントコントローラー(index.php?argxxxですべてではなく)
viewPgge.php
editPage.php
search.php
のような形

相対Path、絶対Path?

すべて相対Pathです。

重くならない?

各Pageに個別のCashをつけたので、そんなに遅くはならないです。
たとえば、今はTikiですが 今のこのPage タイプレスCMSをEditしたら
次に内容をEditするまではレンダリングする必要はないです。単にCachから
最終表示のHTMLを表示すればよい。(中に動的部分がない場合)
Tikiの場合は

  • 動的なのがあればリアルタイムで表示。なければCachから表示
  • Cachは一括でAdminから更新可能

となっていますが、デザインを変更した場合などは手動で
adminからClear Cashをする必要があります。
この手のある部分手動でメンテの部分はOSSモデル、自前開発モデルで違います。

追加の機能はどこに?

Pageのfieldに pagetype=type_name文字列

pagetype = minichat
pagetype = wiki

としてその文字列 
pagelib-minichat.php
pagelib-wiki.php
を動的にinclude

バラメータは
Page tableのfieldに arg1|arg2|arg3| などで記述

Tableのfieldが多くなり DB的に遅くならない?

遅くはなりませんでした。
複数のコンテンツ毎に各typeのlibを動的 includeの重さより
複数のDBへのアクセスがない軽さの方が上回った。

メニュー、Bblock、上下左右は?

Nuke系の考えはそのままで、配置はIDEで。

テーマは?

同様にLocalでIDEで作成。
ロジックのないレンダリングLibなので、HTML Editorで作成できます。

言語対応は?

一応はNuke系/tikiwikiと同様にやりましたが、
TikiのようなエンタープライズCMSみたいにフル機能ではありません。
tikiwikiはこのあたりもフル機能でOSS開発モデルなのによく機能していると感じています。

Page last modified on Sunday April 29, 2018 05:57:12 JST