Tengo una pregunta de arquitectura sobre campos personalizados en una vista para un objeto. Supongamos que tiene un objeto de usuario con información básica como firstname, lastname, ... que pueden usar todos los clientes.Campos personalizados para un formulario que representa un objeto
Ahora, a menudo recibimos una pregunta de un cliente para agregar un par de campos personalizados típicos de su dominio. Nuestra solución ahora es una columna de datos xml donde se almacenan los pares clave de valores. Esto ha estado bien hasta ahora, pero ahora tendremos que encontrar una solución más arquitectónica.
Por ejemplo, ahora, un cliente desea un menú desplegable donde puede seleccionar el valor para su campo personalizado. Todavía podríamos almacenar el valor seleccionado en la columna de datos xml, pero ¿dónde almacenamos todos esos valores desplegables ...
Sé que en sharepoint también puede agregar campos personalizados como menús desplegables y me preguntaba cómo lidiar con esto mejor Quiero evitar crear tablas personalizadas para los clientes, o tener una tabla con 90 columnas (10 básicas y luego 10 para cada cliente), ...
Se entiende la idea, debe ser genérica y poder tratar con todo tipo de problemas en el futuro
Lo que estaba pensando es una configuración de usuario de tabla donde cada registro tiene una clave externa para el cliente (canal en nuestra base de datos), luego una columna FieldName, una columna FieldType y una columna Valores. Los valores de columna deben ser una columna de tipo xml, porque para un menú desplegable, necesitaremos agregar varios valores. Además, cada valor puede tener datos adicionales adjuntos (no solo un nombre). El otro problema es cómo almacenar el valor seleccionado. No me gusta la idea de tener claves externas a xml en mi base de datos (lea en alguna parte que Azure no puede manejar todo esto muy bien). ¿Simplemente almacena el nombre del valor (¿qué pasaría si el valor fuera a desaparecer del xml?)?
Cualquier documentación, enlaces sobre este tipo de problemas también sería genial. Estoy tratando de encontrar un patrón de diseño que trate este tipo de problema en la base de datos.
Si esto no está relacionado con el tema, entonces usted no es un programador de la vida real. –
¿Ha visto esto en SO: http://stackoverflow.com/questions/1126783/what-are-design-patterns-to-support-custom-fields-in-an-application? Parece bastante completo el tema. –
@Simon Thx, aún no había encontrado ese. –