SOY CMSの開発秘話前編でSOY CMSはデザイナとプログラマの開発を完全分業制にしたかった

という内容を記載した。


具体的な内容は、


job_illustrator_and_programmer

かわいいフリー素材集 いらすとや


プログラマは<!-- cms:id="***" /-->というHTMLのコメントタグに動作の全てを詰め込み、デザインはそれを受け取って、自身で作成中のHTMLテンプレートに組み込む。


以後の修正は、プログラマは<!-- cms:id="***" /-->の読み込みだけ意識していれば良く、デザイナも自由にタグを他の場所に変更しながらデザインを完成させていく。


この話は理想的な内容になるけれども、デザインもある程度できるプログラマ、コードの書き換えを行えるデザイナにとっては、いちいち、<!-- cms:id="***" /-->を作成して開発していくのはしんどい。


というわけで用意したのが、PHP記述許可モードで、PHPのよくある記述で、


index.php

<html>
<head>
<title>PHPの書き方のサンプル</title>
</head>
<body>
<div>
今日の日付は<?php date("Y-m-d"); ?>です。
</div>
</body>
</html>

このコードのように、一般的なPHPの出力も可能にしています。

SOY CMS/ShopでPHPモジュールに使用の制限を設けました


これで、デザイナは一切PHPやSQLといったプログラミング言語のコードを一切触れずにサイトを構築できるけれども、時々、PHPで複雑な表示も書くことができる状態になった。


この設計理念はデータベースの操作であるDAOにも引き継がれている。

SOY CMS/Shopのモジュール内でSQLを実行する

SOY2DAOでデータベースから値を取り出す


複雑な処理を書くための余地は残していて書きたい時にだけ書くけど、基本的には書かないし、そもそも複雑さを見せないというやつです。




SOY CMSはHTMLとCSSのみで構築出来て、CMS組み込みの際に使用するタグはHTMLのコメントか属性値のみという特徴は、一旦CMSに組み込んだテンプレートのHTMLファイルを、CMSを介さないで表示しても、デザイン崩れなしでそのまま表示されるわけで、サイト構築後の運営でちょっとしたデザインの改修を試すハードルとコストが大幅に削減される。


どうしてもデザインにPHPのコードが書かれてごっちゃになっているCMSを触れると、見栄えの修正一つとっても、疲れてしまうわけでして、デザイナはデザインにのみ専念出来て、他の影響箇所はほとんど考えない。


上記のような「考えなくていい」という箇所を増やして、よりクリエイティブな活動に時間を割いてほしい。

<!-- cms:id="***" /-->にはそんな願いが込めれられているわけなのです。


読み物

自由を求めてオープンソースのネットショップパッケージへ。軌道に乗った頃に遭遇する問題について