機能追加は、アドオンとして作ります。
費用をかけて作ったものが、次のバージョンアップ後にも残るように。
CS-Cartは、触るべきでない場所を含めて、ほぼ何でも変更できてしまいます。新しい機能を足すとき、いちばん手っ取り早いのはコアや親テーマを直接書き換えることで、実際それで動きます。機能は追加され、サイトは動き、みんな満足します。
そしてバージョンアップが来て、その作業は消えます。
コードをどこに置くかで、何が変わるか
アドオンは、バージョンアップで置き換わる部分に手を入れずに機能を追加するためにCS-Cartが用意している仕組みです。同じ機能を、違う場所に置くというだけの話です。
コアや親テーマに書き込んだ場合
- 作った日は動く
- バージョンアップで消えるか壊れる
- 復旧には、何がどう変更されていたかの調査が必要(記録は大抵ない)
- 結果としてバージョンアップが先送りされ、サイトが取り残される
アドオンとして作った場合
- 作った日は動く
- バージョンアップ後も残る
- サイト全体をほどかずに、無効化・削除ができる
- 次に見る人(別の開発者を含む)が読み解ける
この差は公開日には見えません。最初のバージョンアップで初めて表に出ます。
だから間違えやすく、だから多くのCS-Cartサイトが前に進めなくなります。詳しくは CS-Cartについて をご覧ください。
作れるもの
CS-Cartの標準機能では実現できず、しかし必要である。それはたいていアドオンの領域です。
- 自社の業務のかたちに固有の機能
- 既存のCS-Cart機能の挙動そのものの変更
- 日々ストアを触る人のための管理画面側のツール
- 外部サービス・APIとの連携
- いま手作業でこなしている工程の自動化
- テーマの範囲を超える、フロント側の挙動の変更
* すべてをアドオンにする必要はありません。最も大きな手段を選ぶのではなく、どの方法が実際に適しているかをお伝えすることも仕事のうちです。
既存のアドオン、すでに起きている問題
いま入っているアドオンの改修
すでにインストールされているアドオンの改修や拡張は、誰が作ったものであれ通常の作業です。変更前にどう作られているかを確認し、改修より作り直したほうが良いと判断した場合は正直にお伝えします。
コアに書き込まれたカスタマイズの引き剥がし
すでにコアファイルや親テーマに変更が書き込まれている場合、それをアドオン側へ移すことはたいてい可能です。
作業の中心はアドオンを書くことよりも、何がなぜ変更されたのかを突き止めることにあります。そこはまず記録されていないためです。バージョンアップの最中ではなく、その前にやっておく価値のある作業です。
いまどの状態にあるか分からない、というご相談で構いません。それを突き止めること自体が仕事です。
進め方
- 何をしたいか。業務の言葉で構いません。技術的な仕様に落とし込んでいただく必要はありません。
- どう作るべきか。CS-Cartの標準機能で足りるか、アドオンが適切か、何に影響するかを確認します。
- 作業範囲とお見積り。着手前にご了承をいただきます。
- 開発・導入。目先の挙動だけでなく、その後のバージョンアップを見据えて作ります。
- 納品後は御社のものです。御社のサーバーで動き、その後も私に縛られることはありません。
* 費用は要件によって変わるため、個別にお見積りします。着手前に必ず金額をお伝えします。
よくあるご質問
なぜ直接コードを書き換えず、アドオンにするのですか?
コアファイルや親テーマに上書きした変更は、バージョンアップで消えるか壊れるからです。
アドオンは、バージョンアップで置き換わる部分に手を入れずに機能を追加するためにCS-Cartが用意している仕組みです。つまり、作ったものがその後も残ります。
すでにコアに書き込まれたカスタマイズも直せますか?
はい、よくある作業です。既存の変更をコアファイルから取り出してアドオンに移すことは、たいてい可能です。
最初の工程は、何がなぜ変更されたのかを突き止めることです。記録の残っていない改変こそが、そもそもバージョンアップを怖くしている原因だからです。
他社が作ったアドオンの改修もできますか?
コードがサーバー上にあれば、たいていは可能です。変更前にどう作られているかを確認し、改修より作り直したほうが良い場合は正直にお伝えします。
小さな要件でもアドオンにする必要がありますか?
小さなご要望も通常の範囲です。アドオンにするほどでもない規模であれば、そう申し上げて別の方法をご提案します。
単発の修正や小さな変更であれば、スポット対応 のほうが適しています。
開発したアドオンは自社のものになりますか?
はい。御社のストアのために作り、御社のサーバーにインストールします。その後も私に縛られることはありません。
今後のCS-Cartのバージョンでも動きますか?
そのために、この作り方をしています。コアを直接変更する場合とは比較にならないほど残る可能性は高くなります。ただし、絶対に保証しますと言うのは誠実ではありません。CS-Cart本体に十分大きな変更が入れば、その上に作られたものは何であれ影響を受けます。
申し上げられるのは、バージョンアップに耐える形で作ること、そして万一調整が必要になっても、掘り返す作業ではなく限定的な作業で済むということです。
CS-Cartでは実現できていない要件がありますか
何をしたいのかを、分かる言葉でお書きください。アドオンで解決すべきかどうかと、想定される内容を24時間以内にお返しします。