2012-06-22 13 views
5

Ich beginne gerade mit moderater Webentwicklungsarbeit in Salesforce für mein Unternehmen und ich suche nach Feedback/Einblick in den Bereitstellungsprozess. Im Moment sieht es so aus, als würden wir eine Menge Custom-Arbeiten mit visueller Kraft und Apex machen. Was ich mich wundere ist, wenn ich etwas in meiner Produktionsorganisation (Daten oder Metadaten) vermassele, gibt es eine Möglichkeit, zu einem Snapshot oder einer früheren Version meiner Organisation zurückzukehren, die immer noch funktioniert? Mit den mittelmäßigen Entwicklungswerkzeugen mache ich mir Sorgen, dass wenn Fehler auftreten, ich keine schnelle Möglichkeit haben werde, die Situation anzugehen.Änderungen in Salesforce rückgängig machen

ich über verschiedene Möglichkeiten, lese hier Quellcodeverwaltung einzurichten: How can multiple developers efficiently work on one force.com application?

Aber ich habe nicht jemand zu Fuß durch den Prozess der im Wesentlichen zurückkehrt eine Änderung einstellen oder ändern Zweige gefunden. Sind die in Salesforce integrierten Schutzmechanismen so gut, dass ich mich nicht nur um Fehler in der Produktion kümmern muss? Sollte ich mir einfach keine Sorgen machen, dass ich ein Änderungsset zurücksetzen muss?

+0

Jemand bei der Arbeit wies mich auf eine App namens Snapshot. Hat jemand es benutzt? http://www.dreamfactory.com/appexchange –

+0

Wir haben ihr Produkt vor ein paar Jahren demo'd, und es war sehr gut. Am Ende haben wir Eclipse (Force.com IDE) benutzt, waren aber nie wirklich glücklich. Sandbox-Umgebungen sind ein Muss, egal welches Tool Sie verwenden. – Hraefn

Antwort

2

Ich habe eine App auf dem App Austausch erforscht, die zumindest wie es mir geben aussieht, was ich will. Das Produkt ist Snapshot by Dreamfactory. Interessanterweise sagten mir die Verkäufer, mit denen ich in der Dreamfactory gesprochen hatte, dass Salesforce ihre App intern zur Verwaltung von Änderungen nutzt. Ich finde es irgendwie bedauerlich, dass diese Fähigkeit nicht in meiner Lizenz enthalten ist, aber ... hier sind die Details von dem, was ich gefunden habe, das für meine spezifische Frage hilfreich sein wird:

Die Fähigkeit, einen Schnappschuss von Ihren Orgs zu machen Metadaten und kopieren oder verteilen Sie sie in einer anderen Organisation. Dies ermöglicht mir, Änderungen vorzunehmen/rückgängig zu machen.

Die Fähigkeit, 2 verschiedene Schnappschüsse (von verschiedenen Organisationen) zu unterscheiden und die Details zu sehen, was sich geändert hat. Dies wird mir helfen, die Ursache von Problemen aufzuspüren, wenn sie auftreten.

5

Eine der Möglichkeiten, wie dies gehandhabt wird, ist die ordnungsgemäße Verwendung von Sandbox-Organisationen, die mit Ihrer Produktionsorganisation verknüpft sind. Sie können immer eine Sandbox-Organisation mit den "gesegneten" Instanzen von allem behalten, während Sie eine andere Sandbox-Organisation verwenden, um eine wichtige Entwicklung für die Bereitstellung in der Produktion durchzuführen. Für den Fall, dass zwischen der neuen Entwicklung in Ihrer dev-Sandbox, die für die Produktion bereitgestellt wird, ein schwerwiegender Fehler auftritt, können Sie von Ihrer gesegneten Sandbox aus fortfahren, um zu dem zurückzukehren, was vorher vollständig funktionierte.

Das gesagt, Sie sind auf etwas, wenn Sie fragen, sich keine Sorgen über Fehler in der Produktion. Nicht, dass sie nicht passieren werden, weil sie es werden, sondern eher, dass du bald einen anderen Sinn dafür entwickeln wirst, was kaputt ist. Ein Änderungssatz ist nur eine Möglichkeit, Änderungen von einer Organisation zu einer anderen zu erhalten, und eine relativ neue Entwicklung auf der Plattform. Sie haben einige Einschränkungen wie das Verschieben von benutzerdefinierten Einstellungsdaten, funktionieren aber im Allgemeinen sehr gut.

Aber es ist wahr, dass, wenn Sie gute Komponententests in Verbindung mit allen anderen auferlegten referenziellen Integritätsprüfungen haben, ist es wirklich nicht so üblich, sozusagen "den Build zu brechen" und zu wollen Zurück zu einem globalen Snapshot von allem zu einem anderen Zeitpunkt. Häufiger, nach meiner Erfahrung, werden Sie isolierte Einheiten wieder auf vorherige Versionen zurücksetzen und können dies mit Sandboxes oder Quellcodeverwaltung tun, indem Sie eine frühere Version weiterleiten, bis ein Fix gefunden wird.

Adam

+2

Ich würde zu Adams Antwort hinzufügen, dass Sie auch eine Ihrer Entwickler-Sandboxes als Produktionssicherung verwenden können. Initiieren Sie einfach eine Rückmeldung vor einer großen Bereitstellung und auf diese Weise erhalten Sie eine Kopie Ihrer gesamten Konfiguration. Anschließend können Sie die Bereitstellung aus dieser Umgebung in Ihre Produktion zurückversetzen. –

+0

Genau. Genau das meinte ich mit einer Sandbox-Org mit gesegneten Instanzen von allem. Aber es ist für diesen Zweck eindeutiger, es als Produktionssicherung zu bezeichnen, obwohl einige zu Recht das Wissen über eine Produktionssicherung in einer Sandbox in Frage stellen. Es hört sich einfach volatil an;) – Adam

+0

Kannst du mich etwas ausführlicher durchgehen, wie du einen Wechsel aus der gesegneten Sandbox oder Versionskontrolle vorantreiben würdest. Würden Sie die Metadaten-API-Skripte verwenden? Wenn Sie etwas zurücksetzen, müssen Sie möglicherweise neue benutzerdefinierte Objekte oder Felder löschen. Ich weiß, dass Sie Dinge nicht mit einem Änderungssatz löschen können. Können Sie das mithilfe der Metadaten-API tun? –