Saya harus dapat mendemokan aplikasi produksi kami ke calon klien. Cara saya mengaturnya hari ini sederhana. Aplikasi demo adalah duplikat yang tepat dari sistem produksi, kecuali bahwa data dalam database dikaburkan untuk melindungi data klien kami saat ini. Ini berfungsi dengan baik karena tidak memerlukan perubahan aplikasi apa pun.
Boss menjatuhkan BOMBSHELL potensial hari ini dan mengatakan bahwa sistem demo perlu mengandung tautan khusus dan bahwa HANYA muncul di demo. Dia kemudian menjelaskan bahwa di masa depan mungkin ada perbedaan yang jauh lebih besar antara aplikasi demo dan produksi (misalnya seluruh area fungsionalitas). Apa yang saya lakukan sekarang?
Beberapa hal yang saya pikirkan tentang melakukan:
- Pertahankan cabang berbeda dalam subversi khusus untuk sistem demo
- Buat paket instalasi yang memiliki perubahan untuk demo, lalu kembalikan dan buat paket instalasi produksi
- Modularisasi aplikasi (tidak tahu caranya)
- Katakan: "Persetan denganmu! Aku tidak akan melakukannya!" (LOL)
- Gunakan semacam logika kondisional dalam aplikasi untuk menentukan apakah itu demo atau aplikasi produksi. Misalnya (jika URL berisi 'demo' maka tampilkan sembunyikan lainnya).
Jika Anda belum dapat menebaknya sekarang, ini adalah aplikasi web
Bagaimanapun, saya tidak punya pengalaman dalam skenario ini mengenai mana yang lebih baik atau jika tidak ada yang baik. Adakah yang punya jawaban, strategi, sesuatu !?
Jawaban:
Pertahankan cabang berbeda dalam subversi khusus untuk sistem demo
Buat paket instalasi yang memiliki perubahan untuk demo, lalu kembalikan dan buat paket instalasi produksi
Ketika Anda memikirkan produk Demo (kecuali jika Anda berbicara tentang versi jejak) - jangan berpikir seperti 'produk terpisah' tetapi menganggapnya sebagai 'lingkungan terpisah'. Jika Anda dan saya sama-sama menginstal mesin kata-tekan di situs kami masing-masing, kami akan memiliki produk yang sama tetapi data yang berbeda. Anda harus merancang produk Anda sedemikian rupa sehingga instalasi (dan penggunaan) hal-hal tertentu - dapat dibuat seperti cara seseorang membuat sumber konten yang berbeda. Demikian pula, misalnya - Anda membuat aplikasi .Net atau JAVA asli, fungsinya tetap sama - tetapi di mana ia mendapatkan visual (termasuk layar splash dan tombol) dari dapat folder yang berbeda untuk menunjukkannya dalam bentuk yang berbeda. Kemudian - permintaan akan datang bahkan mengubah tata letak - saat itulah Anda tahu Anda membutuhkan lebih banyak barang template!
Jangan melompat untuk modularisasi dalam satu-shot. Ketika dan ketika persyaratan datang, pertama-tama mulailah cabang yang terpisah (jalur pengembangan) dan berikan demo! (Karena semua demo biasanya hari berikutnya pagi 10:30). Penyimpangan yang Anda buat saat ini memberi tahu Anda apa yang seharusnya termodulasi untuk diambil dari sumber daya eksternal. Terapkan itu dan gabungkan kembali - lain kali demo yang sama akan menjadi versi standar Anda (dengan URL yang berbeda).
Hampir selalu jika Anda akhirnya menjadikan "produk terpisah" sebagai demo - Anda mengundang masalah atau kesakitan atau keduanya!
Dipan.
sumber
Pendekatan terbaik adalah memodulasi sehingga Anda dapat menghidupkan atau mematikan item di aplikasi apa pun.
Demo Anda adalah inst prod, dengan konfigurasi yang mengaktifkan hal-hal yang berbeda dari aplikasi prod yang sebenarnya dan menunjuk ke database yang berbeda.
sumber