SaaSのバージョン管理システム

今日は数日前にBiggoに登場した新機能についてお話したいと思います。 変化するサイトテンプレートのバージョンのストレージを実装するというアイデアはかなり前に生まれましたが、時間の経過とともに、この機能はテンプレートのソースコードを定期的に変更する多くの顧客にとって有用であることが明らかになりました。 事実は、偶然、または無知から、ソースコードへのサイト所有者の介入後に誤解が生じることがあるということです。 もちろん、ほとんどの場合、すべてが何らかの方法で返されることが判明しますが、バージョンの履歴があった場合、誰もそれらのバージョンに振り向かないほど単純です。 サポート。 ちなみに、最初から選択したデザインからテンプレートを復元する機能がありましたが、最初に、テンプレートの初期バージョンが常に望ましいとは限らず、次に、新しく作成されたテンプレートにはコピーが1つしかないため、不可能です。 (バックアップがありますが、これは別の問題です)。





そこで、すべてを賢明に行うことにしました。 長い間バージョン管理システムを選択する必要はありませんでした。 選択基準がありました:

-分散型(サイトごとにCVSサーバーを実行する必要はありません)

-速い



ここには少なくともいくつかのオプションがありましたが、 Mercurialで成功した経験がある

(また、他のすべてのものと同様にpythonで書かれています)、それを選択しました。

したがって、ファイルを保存するたびに、サイトに共通のリポジトリに新しいバージョンがコミットされます。つまり、変更セットには1つのファイルの変更が含まれます。 その結果、このデータをどのように使用できますか:



1.変更の表(何、誰、いつ、どこで変更されたか)。 ディーラーが追加のタスクを実行できるため、これも重要です。 テンプレートを含む、サイトにアクセスするサービス。 この場合、一般的なCMSジャーナルに加えて、各テンプレートの変更に関する正確なデータもあります



2.バージョンの比較。 違いを読み取り可能な形式で視覚化します。 ところで、Mercurialの役割は、指定されたリビジョンのファイルの内容を提供するという事実で終わります。比較はすでにサードパーティのライブラリです。 同意します。この形式では、経験の浅いユーザーが十分に離れている統一差分形式を読むよりも、違いを研究する方が簡単です。



ここで、削除されたもの、追加されたものを見ることができます(赤と緑で強調表示)



3.目的のファイルリビジョンを復元する



また、ファイルの変更方法に関係なく、履歴が維持されることに注意する必要があります。ブラウザーのテキストエリアを使用するか、変更したものがエディターにロードされます。



All Articles