How do I allow n possible new fields in a App (CRM)  
Author Message
Raulsassaa





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

Hi,

We are starting to develop a small CRM as part of our app. I would like to give the user an option to create new fields (specifying the type he wants). How should I proceed to do this




Architecture2  
 
 
diyanil





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

I have recently developed financial application which dose similar thing.

Mainly three things you should consider when doing so.

  1. How you are going to store the information
  2. How frequently users are going to change screen definitions.
  3. What is the performance expectation of the end users, infrastructure setup and so on. Mainly because of dynamic nature of the system will lead to performance issues.

contact me if you need furture details,


 
 
Roger_Wolter_MS





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

There are some options mentioned here:

http://download.microsoft.com/download/2/a/8/2a8dfca9-d1ca-4132-9d39-8e3d920c450f/multi-tenant%20data%20architecture.zip


 
 
Arnon Rotem Gal Oz





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

In addition to what Diyanil said

You also need to consider what functionality do you want to support for those "dynamic" attributes

Are they display only how much validation do users expect do you need to be able to add business rules on these fields

How dynnamic shoudl these attributes be are they different per record do you need security on top of that

etc.

Arnon



 
 
Raulsassaa





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

I would like to have more precise information on how to add "dynamic fields". I know there are a whole bunch of aspects involved, but there should be a starting point where to look for...

 
 
C l e m e n s





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

there are more ways to do it...
make a table where you van store information about the custom fields and a table where you can store the values of the custom fields in you're app you have to make some functionality to show the correct value and to accept the correct value. [I think for an CRM app this is the best way, some challenges with indexing], the other way is to make allot of empty fields in a table :-S or you can make some SQL-scripts to alter the database.
Fred Chong and Gianpaolo do have some posts / papers / decks / ... about this, with SaaS you got the same things.



 
 
Arnon Rotem Gal Oz





PostPosted: Architecture General, How do I allow n possible new fields in a App (CRM) Top

I would like to have more precise information on how to add "dynamic fields". I know there are a whole bunch of aspects involved, but there should be a starting point where to look for...

If I have to choose a deafult way to go I would say that today it is getting safer to use an XML field in the database to handle dynamic fields. The main reason for that is that RDBMSs are getting better at handling this semi-strucutured data so you can also get query and update capabilities as well as extensibility.

However, to choose the best solution for you purposes you need to consider the "whole bunch of aspects invovled" :)

Arnon