CMS(具体的にはJoomla!)でソフトウェア構成管理を行う際のすべての問題をカバーするのに問題があります。もちろん、カスタムテンプレートだけでなく、カスタムモジュールやコンポーネントも作成しています。これらのウェブサイトとアプリはクライアント向けであり、社内向けではありません。
テンプレートやコンポーネントのコードだけでなく、サイトの構成を実際にバージョン管理したいのは、修正のために立ち上げたり、他の人にできるだけ早く転送したりできるようにするためです。今のところ、それは完全なJoomlaを保存することを意味します!インストールされているコンポーネントとテンプレートのバージョンを含め、SVNのサイトごとにインストールし、実際のデータベースエクスポートを保存します。コンポーネントについては、「パッケージ化された」バージョンのコードも保持しています(以下を参照)。テンプレートはJoomlaにドロップするだけなので、通常は気にしません。インストールして動作します。
私が現在議論しているこの設定の問題は、カスタムコンポーネントの開発にあります。Joomla!(および他のほとんどのCMS)拡張機能は、通常、Webインストーラーを使用して展開されます。DBの変更が必要なため、(少なくとも最初は)特定のフォルダーにファイルをドロップすることはできません。Joomla!インストーラーシステムは、インストールフックとアンインストールフックを使用してDBとファイルの移行を提供するため、展開にはかなり合理的なシステムです。
現在、私は次のいずれかを行っています。1)インストールされたコンポーネントを直接操作し、ファイルを追加および変更してから、それらをコンポーネントのパッケージバージョンに手動でコピーするか、2)パッケージされたコンポーネントを操作し、インストーラーを使用して実際に結果を表示します。このオプションは通常時間がかかりすぎるだけですが、特にDBの移行に関して、コードを「解放可能」に保つという利点があります。
どちらの場合も、変更はチェックイン前に両方のバージョンのファイルに複製され、複製は私にはにおいのように思えます。
それで、他の誰かがこれをしますか?より良いオプションはありますか?