Ich muss in der Lage sein, unsere Produktionsanwendung potenziellen Kunden vorzuführen. Die Art und Weise, wie ich es heute eingerichtet habe, ist einfach. Die Demo-Anwendung ist ein genaues Duplikat des Produktionssystems, mit der Ausnahme, dass die Daten in der Datenbank verschleiert sind, um die Daten unserer aktuellen Kunden zu schützen. Dies funktioniert hervorragend, da keine Anwendungsänderungen erforderlich sind.
Boss hat heute eine potenzielle BOMBSHELL fallen lassen und gesagt, dass das Demosystem einen speziellen Link enthalten muss und dass NUR in der Demo angezeigt wird . Er fuhr fort zu erklären, dass es in Zukunft möglicherweise viel größere Unterschiede zwischen der Demo und den Produktions-Apps geben wird (z. B. einen ganzen Funktionsbereich). Was mache ich jetzt?
Einige Dinge, über die ich nachgedacht habe:
- Pflegen Sie einen anderen Zweig in Subversion, der für das Demosystem spezifisch ist
- Erstellen Sie ein Installationspaket mit den Änderungen für die Demo, setzen Sie es zurück und erstellen Sie ein Produktionsinstallationspaket
- Modularisieren Sie die Anwendung (keine Ahnung wie)
- Sag: "Scheiß auf dich! Ich werde es nicht tun!" (LOL)
- Verwenden Sie eine bedingte Logik in der App, um festzustellen, ob es sich um eine Demo oder eine Produktions-App handelt. ZB (wenn die URL 'Demo' enthält, dann zeige else hide).
Wenn Sie bis jetzt noch nicht geraten haben, handelt es sich um eine Webanwendung
Wie auch immer, ich habe in diesem Szenario keine Erfahrung, welches besser ist oder ob keines davon gut ist. Hat jemand eine Antwort, Strategie, etwas!?
Antworten:
Pflegen Sie einen anderen Zweig in Subversion, der für das Demosystem spezifisch ist
Erstellen Sie ein Installationspaket mit den Änderungen für die Demo, setzen Sie es zurück und erstellen Sie ein Produktionsinstallationspaket
Wenn Sie an ein Demo-Produkt denken (es sei denn, Sie sprechen von Trail-Versionen), denken Sie nicht wie ein "separates Produkt", sondern wie eine "separate Umgebung". Wenn Sie und ich beide die WordPress-Engine auf unseren jeweiligen Websites installieren, haben wir dasselbe Produkt, aber unterschiedliche Daten. Sie müssen Ihr Produkt so gestalten, dass installations- (und verwendungsspezifische) Inhalte wie die Erstellung verschiedener Inhaltsquellen erstellt werden können. In ähnlicher Weise - zum Beispiel - wenn Sie eine native .NET- oder JAVA-Anwendung erstellen, bleibt die Funktionalität dieselbe - können jedoch verschiedene Ordner (einschließlich Begrüßungsbildschirme und Schaltflächen) verwendet werden, um sie in unterschiedlicher Form anzuzeigen. Später - die Nachfrage wird kommen, um sogar die Layouts zu ändern - dann wissen Sie, dass Sie mehr Vorlagen benötigen!
Springen Sie nicht auf einmal zur Modularisierung. Beginnen Sie bei Bedarf zunächst einen separaten Zweig (Entwicklungslinie) und geben Sie die Demo! (Da alle Demos normalerweise am nächsten Morgen um 10:30 Uhr stattfinden). Die Abweichung, die Sie jetzt erstellt haben, gibt an, welche Modularisierung vorhanden sein sollte, um von externen Ressourcen übernommen zu werden. Wenden Sie das an und führen Sie es wieder zusammen. Beim nächsten Mal ist dieselbe Demo Ihre Standardversion (mit unterschiedlicher URL).
Fast immer, wenn Sie am Ende "separates Produkt" als Demo erstellen - Sie laden Ärger oder Schmerz oder beides ein!
Dipan.
quelle
Der beste Ansatz wäre die Modularisierung, damit Sie Elemente in jeder App ein- oder ausschalten können.
Ihre Demo ist eine Produktinstallation mit einer Konfiguration, die andere Dinge als die eigentliche Produkt-App aktiviert und auf eine andere Datenbank verweist.
quelle