Alcuni progetti su cui lavoro hanno una linea principale di funzionalità, ma sono personalizzabili per cliente. Fino ad ora queste personalizzazioni sono state implementate come preferenze, ma ora ci sono 2 problemi con il sistema ...
- La pagina delle impostazioni sta uscendo controllo con funzionalità. Ci sono probabilmente alcuni miglioramenti potrebbe essere fatto per l'interfaccia utente delle impostazioni, ma a prescindere, è abbastanza ingombrante impostare nuove istanze per i nuovi clienti.
- I clienti hanno iniziato a chiedere personalizzazioni che sarebbero più facilmente mantenuto come separato discussioni invece di avere tonnellate di codice personalizzazioni.
In modo ottimale sto immaginando una sorta di controllo del codice sorgente in cui le funzioni sono nella linea principale del progetto e le personalizzazioni per cliente sono mantenute in un repository per impostazione del cliente. Le personalizzazioni per progetto dovrebbero rimanere separate, ma se un bug viene trovato e risolto in un particolare progetto, avrei bisogno di ricollocare la correzione sulla linea principale e in tutti gli altri repository clienti.
Il problema è che non l'ho mai visto prima, e prima di passare il tempo a cercare il controllo del codice sorgente che possa adattarsi a questo scenario e implementarlo, immagino che sia meglio chiedere a qualcuno se qualcosa di meno complicato o di un controllo sorgente prodotto che può gestire questo con pochissima trazione dei capelli.