Şu anda birkaç büyük web tabanlı çok kiracılı ürünüm var ve çok yakında kiracıya özgü birçok özelleştirmenin olacağını görebiliyorum.
Burada veya orada fazladan bir alan, belki de bir iş akışının ortasında fazladan bir sayfa veya fazladan bir mantık - bu tür bir şey.
Bu özelleştirmelerden bazıları temel ürüne aktarılabilir ve bu harika. Bazıları son derece spesifiktir ve herkesin yoluna girer.
Bunu yönetmek için birkaç fikrim var, ancak hiçbiri iyi ölçeklenmiyor gibi görünüyor. Açık çözüm, istemci başına çeşitli 'özelliklerin etkinleştirilmesine izin veren bir ton istemci düzeyinde ayar sunmaktır. Bunun dezavantajı, elbette, büyük karmaşıklık ve dağınıklıktır. Gerçekten çok sayıda ayar sunabilirsiniz ve zamanla çeşitli mantık türleri (sunum, iş) elden çıkabilir. Daha sonra, mevcut tablolara bir grup boş değerli alan eklemekten daha temiz bir şey isteyen yalvarmaya özgü alanlar sorunu var.
Peki insanlar bunu yönetmek için ne yapıyor? Force.com, genişletilebilirliğin ustası gibi görünüyor; açık bir şekilde süper genişletilebilir bir platform oluşturdular. Web tabanlı kullanıcı arayüzleriyle neredeyse her şeye ekleyebilirsiniz. FogBugz benzer bir şey yaptı, burada güçlü bir eklenti modeli yarattılar, ki bu aklıma aslında Force'tan ilham almış olabilir. Bunun için çok fazla zaman ve para harcadıklarını biliyorum ve eğer yanılmıyorsam, aslında gelecekteki ürün geliştirme için dahili olarak kullanmaktı.
İnşa etmeye cazip gelebileceğim ama muhtemelen yapmamam gereken bir şey gibi geliyor. :)
Takılabilir mimariye yapılan büyük yatırım tek yol mu? Bu sorunları nasıl yönetiyorsunuz ve ne tür sonuçlar görüyorsunuz?
EDIT: Görünüşe göre FogBugz oldukça sağlam bir platform oluşturarak ve bunu ekranlarını bir araya getirmek için bunu kullanarak ele almış gibi görünüyor. Bunu genişletmek için ISearchScreenGridColumn gibi arabirimleri uygulayan ve bir modül haline gelen sınıfları içeren bir DLL oluşturun. Eminim büyük bir geliştiriciye sahip oldukları ve aylarca üzerinde çalıştıkları düşünülerek inşa etmek çok pahalıydı, ayrıca yüzey alanları belki de uygulamamın boyutunun% 5'i.
Şu anda, Force.com'un bununla başa çıkmanın doğru yolu olup olmadığını merak ediyorum. Ve ben sert çekirdekli bir ASP.Net adamıyım, bu yüzden bu kendimi bulmak için garip bir konum.