SOY CMS / SOY Shop

ブログトップ

豆式デスマーチ回避術(1)

SOY CMS/Shopはオープンソースライセンスで公開しているため、ご利用は用途を問わず無料です。じゃあ開発元は何で収入を得ているの?とよく聞かれます。主には

  • 制作・開発会社さまからのサポートご依頼
  • サイト運用者さまからのご依頼

でサポートやサイト構築のお手伝いをさせていただいているのですが、前者については「自社では対応が難しいお仕事」だけが集まってきます。単純に規模が大きかったり要件が複雑だったりで経験が無いから手伝ってというものもあるんですが、一定数「デスマーチになりそう」「もう半分デスマーチになってしまっている」お仕事が含まれてきます。だからそんなときの対処のノウハウが結構たまっています(もちろんCMSなのでWeb構築関連に限ったお話です)。


まず、そもそもですがデスマーチはなぜ起きるのか?というと、要件に対するリソース(予算、スケジュール)不足です。予算不足は技術ではどうしようもないので触れませんが、スケジュールについては手の打ちようはあります。

スケジュールが厳しくなる理由、厳しくなったときに起きる悪循環は大体こんな感じでしょう。

  • 要件定義・設計が遅れて実装に充てられる期間が削られた(でもリリース時期は動かない)
  • 実装に入ってから追加の要件が出てきた(でもリリース時期は動かない)
  • 途中で追加された要件についてもかたくなに要件定義→設計→実装→テストの手順を守ろうとして時間を食ってしまう
  • スケジュールが厳しいことが明白な段階になっても、プロジェクトの進行方法自体の見直しを行わない(当然進行速度は変わらないので「見通し通り」炎上する)
  • スケジュールが厳しいことが明白になったとき、人員の追加で巻き取ろうとして(プロジェクトの詳細を知らない)新規参加のメンバーへの説明の手間で却ってスケジュールが圧迫される

いずれにしろ「要件に関する意識のすりあわせが難しいこと」「イレギュラーへの対処自体を計画に織り込んでいないこと」が問題です。

こちらのブログでは何度かに分けて、こういった状況に対応するために、SOY CMS開発元ではどんなことをしているか説明をしていきたいと思います。

続きを読む

工数削減だけじゃない、SOY CMS導入のメリット

SOY CMS/SOY Shopは他のCMSとどう違うんですか?


一番よく聞かれる質問です。端的には「HTML完成から組込み完了までの工数がとても少なくなります」「一度組み込んでからの修正がとても楽(HTMLだけ編集するコストとほぼ変わらない)です」というのが主な点ですが、この二つの特徴が合わさるともっと大きな長所が生まれます。


それは「段階的な組込み、修正が可能になること」です。


もともとあるテンプレートを少し修正して使用する場合は別にして、オリジナルのデザインでCMSを使用するときの手順は大体こんな風であることが多いと思います。

しかし、この方法だとこのような問題が発生します。


  • 要件定義で丁寧にドキュメントを作成しても、その内容についての理解が発注側と受注側とで違って、後になって「ここはこういう意味だろう」「いや、違います」といったすれ違いが発生する。
  • デザイン制作、システム開発が並行して進んでいる間、発注者がデザイナーの成果物(画像の印刷物である場合も)ばかりが見られて、プログラマーの成果物は(非専門家からみるとわかりにくいため)あまりちゃんとチェックされない。
  • 組込み完了後に初めて動作する状態でのチェックが行われ、結果「約束していた仕様と違うのではないか」「やはりここはこうしてほしい」といったクレームになる。
  • 組込み完了の時点で公開時期が迫っている中、修正箇所について再度の修正を避けるためにより厳密な要件定義を行おうとするとこのフローを再度行わねばならず状況が逼迫する

その点、SOY CMS/SOY Shopのテンプレートは

というコメントタグと独自属性値による制御なので「HTMLほとんどそのまま」「テンプレート化後もHTMLだと思って編集可能」という特徴があるため、(上記のワークフローでももちろん対応は可能なのですが)以下のような順番での開発が可能です。

この手順で開発を進めると、こんなメリットがあります。


  • 初期に「動作する状態での確認」をしてもらえるので、要件定義の時点で理解に齟齬があっても早期に修正できる(同じ手戻りでもプロジェクト末期ではなく初期に発生させることができる。手戻りは初期に近いほど対応コストが少なくて済む)。
  • 開発進行中も「動きが見えるものにどんどん実際の動きが追加されていく」ため、発注側の、実際に運用に携わるより多くの人が関心を持ちやすく、多角的なチェックを行うことができる。
  • 適当なところで区切りをつけて公開しても、その後の修正はジグザグを延長すればいいだけなので特段コストが変わることがない。多段階リリースが容易。継続的な改善を行いやすい。

デメリットは

  • 「手戻りは絶対に発生するもの」という認識が必要で、「いかに手戻りを減らすかが重要」という一般的なプロジェクトマネジメント手法の発想から自由にならないといけない。
  • 完全なデザイン確定前にHTMLでの制作に取り掛かるのが望ましいが、初期案は作り直しになる可能性がある。

という点ですが、後者についてはドキュメント作成のコストやリリース前の対応コストが削減できる分、トータルではほとんどの場合問題のないレベルに収まると思います。

続きを読む

CMSの常識を覆す?サイトはそのままで管理システムだけ入れ替えるメリット

SOY CMSで特徴的な使われ方として、サイトの表側だけはそのままに、管理システムだけ入れ替える、というのがあります。

公開側と管理側

ほとんどの場合CMSの入れ替えはサイトのリニューアルと同時に行われる=デザインもサイトマップもすべて変更になるのが一般的でしょう。

どうせ費用をかけてよいサイトにするなら変えられるところは変えたいという気持ちも働くでしょうし、そもそもどちらかというと公開側のリニューアルのついでにシステムも良くしよう、という流れになることが多い気がします。

しかし!公開側はそのままに、管理側だけ入れ替えるというのには大きなメリットがあります。

SEO上の問題、コンバージョン率といった「サイトの性能」に影響を及ぼさない

公開側のデザイン、サイトマップを大きく入れ替えてしまうと検索エンジンからの評価やコンバージョン率といったことも突然大きく変わってしまう可能性があります。成績が悪く抜本的な手を打つ必要がある場合は別にして、ある程度成果が出ているサイトなら突然の大きな変更にはリスクも伴ってしまいます。

つまり、公開側はできるだけそのままに管理側だけ入れ替えれば、そういった影響を最小限にとどめつつ、運営コスト削減や更なる成果アップのための施策の準備を行うことが可能になります(もちろん反対に、使い慣れた運用システムはそのままに公開側だけ大きく変更することも可能です)。

柔軟性の高いシステムに入れ替えるメリット

CMS、カートシステムを柔軟性の高いものに入れ替えると、以下のようなことが可能になります。

  • 業務拡大に合わせた管理画面の修正頻度のアップ、それによるコスト削減
  • アクセス解析に基づいたサイトデザイン、構成の修正頻度のアップ、それによる成果アップ

システムの柔軟性が低いとこういったことを行いたくても、都度システムのカスタマイズの費用が膨れ上がって実施できないというケースは多いと思います。改修のコストが下がるということは改善の頻度を上げられるということです。

公開側をそのままにシステムだけ入れ替えるのは一見ただのコストの発生に感じますが、このようなメリットを最大限に活かせれば2年、3年の改善プランを考えると簡単に元をとることもできます。

制作・コンサルティングの立場から見ても、追加の提案がしやすく=継続的な仕事を生みやすくなります。


CMSやカートシステムを使っているサイトだと、あのシステム使ってるね、という感じが色濃く残るケースが多いと思いますが、SOY CMS/Shopにはそれがありません。

事例:https://www.soycms.net/case

の通り、まったくバラバラ=好きなデザインにできる=柔軟性・自由度が極めて高いシステムです。

続きを読む

JVN#51978169ならびにJVN#51819749について

JVNに掲載されました

https://jvn.jp/jp/JVN51819749/

https://jvn.jp/jp/JVN51978169/

に関しましては先日公開のVer.1.8.13にて修正を行っています。

Ver.1.8.12以前をご使用中の方はCMSのアップデートをお願いします。SOY Shopをメインに、CMSは使用していない方もCMS部分の更新をしてください。

https://www.soycms.net/download

続きを読む

サイトの段階的リニューアル手順

SOY CMSの公式サイトをリニューアルしました。


今回のリニューアルの主な目的はスマートフォン等のデバイスでも見やすいサイトにするために、統合できるページは統合し、ボタン等のサイズを大きくすることでしたが、発信したい情報についてはリニューアル前と変わっていません。


そのため記事の内容を含めCMSの設定は極力維持したまま、主だったページのデザイン(テンプレート)のみを差し替えるということをしています。


以下に具体的な手順を説明します。

①移設作業のためのテストサーバを用意して、そこにSOY CMSをインストールします。

SOY CMSのデータベースのタイプは運用中のサイトと同じものを選択してください。作業用のサーバはローカルPCに立てるのが便利です。

インストール後、元のサイトと同じサイトIDでサイトを作成してください。

②運用中のサイトのデータベースを作業用サーバで作成したサイトのデータベースに上書きコピーします。

SQLite版だとファイルをコピーするだけです。MySQL版だと、一度ダンプして読み込んでください。この時点で、作業用サーバのCMSで作成したサイトにログインすれば、ページや記事の情報は元のサイトと同じものが表示されているはずです。

プラグインやカスタムスクリプトを利用している場合はそれらに関連するファイルもデータベースと一緒にコピーしてください。

③作業用サーバ上のCMSでデザインをリニューアルしたいページのテンプレートを編集する。

このときの作業は、新しいデザインのHTMLと元のページのテンプレートを並べて、新しいHTMLの対応する箇所にblock:idやcms:idを書き加えていくだけです。

このとき、新しいデザインで使用するCSSや画像等は作業用のサーバに設置してください。

作業用サーバは作業マシンのローカルに立てて「テンプレート同期プラグイン」を使用すると非常にスムーズに、使い慣れたエディタで作業を進められます。

変更が必要のない部分についてはこれだけで元通り記事が読み込まれますので、あとはブロック等の設定を必要なところだけ調整していきます。

共通パーツをブロック化している場合は、新しいデザインのパーツをCMSに登録していきます。


④作業用サーバのサイトのデータベースを運営中のサイトのデータベースにコピーする

先の手順の反対で、作業用サーバで設定の終わったサイトのデータベースを運営中のサーバのサイトに上書きコピーします。このとき新しいCSSや画像等は先にアップロードしておいてください。


これでサイトのリニューアル完了です。CMSの構造はそのままに、変更したいところだけをスムーズに変更することが出来ました。

続きを読む

SOY Inquiryから自動送信されるメールをオブジェクトから組み立てる

前回のSOY Inquiryから自動送信されるメールのお問い合わせ内容を変更したいと記事を投稿した後、

SOY Inquiryから自動送信されるメールのお問い合わせ内容の表示の修正


下記の様なメッセージがありました。


/***********************************/

ブログ記事のコードをコピーしmail.user.phpを編集してテストしたところ、住所入力部分以外はうまくいったのですが、住所入力部分は最初から前後が空行で挟まれているようでおかしな表示になってしまいます。

/***********************************/


確かに先日のmailbodyを取得して、文字列操作で書き換えだと、途中に改行コードがあるだけでおかしくなってしまいます。


今回は前回の手抜きではなく、配列に含まれているお問い合わせのオブジェクトからお問い合わせ内容の組み立て方を紹介します。

続きを読む

SOY Inquiryから自動送信されるメールのお問い合わせ内容の表示の修正

昨日、下記の様なお問い合わせがありました。


/**************************************/

メール本文に問い合わせ内容が挿入される際に、項目名と入力内容がタブとコロンで区切られているため、環境によっては(特にスマホ)では読みづらくなっています。

現状自動送信されるメールと整形案を添付しますが、整形案のように項目名の頭に『■』を付加し、項目名の後で改行、入力内容と次の項目名の間には1行挿入したいです。

/**************************************/


今回はSOY Inquiryの自動送信メールの本文内容の拡張についての方法を紹介します。

続きを読む

cms:moduleでサイトの共通部分を管理する

SOY CMS1.8.2からSOY Shopで重宝しているshop:moduleのCMS版であるcms:moduleを追加しました。

HTMLモジュールでサイトの共通部分を一括管理 | SOY Shopマニュアル

パーツモジュールを追加する[要PHP] | SOY Shopマニュアル


続きを読む

プラグインのソート設定を追加しました

SOY Shop 1.17.0からプラグインのソート機能を実装しましたので、

ソートの設定方法と実際の使いどころを説明します。

続きを読む

SOY Shopで作成したサイトのサーバの引っ越し

運営中のSOY Shopを他サーバに移行したいとの連絡がありましたので、

今回はサーバの引っ越しについての紹介をします。

続きを読む

SOY Shopプラグインの解説 オーダーカスタムフィールド2

前回はオーダーカスタムフィールドのカート側の処理を見ました。

SOY Shopプラグインの解説 オーダーカスタムフィールド1


今回は管理画面側の処理を見てきたいと思います。


続きを読む

SOY Shopプラグインの解説 オーダーカスタムフィールド1

カートの配送・支払の選択画面で入力できる項目を増やしたいとします。

その時にカスタマイズ用のカートを用意して対応でも良いですが、

カートのカスタマイズ カスタマイズ用のカートの準備


オーダーカスタムフィールドの拡張ポイントで増やすことも可能です。

SOY Shopプラグインの解説 拡張ポイントについて


オーダーカスタムフィールドで増やすと、

POSTの処理をプラグインの中で行えるので大変便利です。

続きを読む

パンくずナビゲーションモジュールの表示速度周りのカスタマイズ

商品数が増え、パンくずモジュール周りの表示が遅くなったサイトがあったので、

shop:module="breadcrumb_navigation"をカスタマイズして表示速度を挙げるという対応を行ったので、今回はその紹介をします。


この記事を読む前にカスタマイズをする前の準備の記事をご覧ください。

同梱されているモジュールをカスタマイズする

続きを読む

同梱されているモジュールをカスタマイズする

同梱されているパーツモジュール(shop:module="***"のタグ)では機能不足で手を加えたい時、本体内にあるファイルを修正するとバージョンアップした時に上書きされてしまいます。


サイト制作が佳境になった時に修正をする際、モジュール名を変更するとタグも全ページで変更となり、ページ数が多いサイトではタグ名が変更するだけで修正箇所が多く厄介なことがあります。

(shop:module="breadcrumb_navigation"をshop:module="bredcrumb_navigation_custom"に変更のような修正)


今回は同梱されたパーツモジュールをタグ名を変更せずにカスタマイズする方法を紹介します。

続きを読む

SOY Shopのテンプレート編集画面で使用できるタグ一覧を表示出来る様にしました

SOY Shop1.15.2からテンプレートの編集画面に使用できるcms:idタグ一覧を表示できるようにしましたので、今回はその設定方法を説明します。

続きを読む
最初  1 2 3 4 5 6 7 8 9 10  最後