saurabhd / hk_realestate

GNU General Public License v2.0
1 stars 0 forks source link

CRM: multivalue phone, email fields with custom labels #31

Open heliogabal opened 8 years ago

heliogabal commented 8 years ago

The phone and email fields on the CRM contacts need to be more flexible. They need to:

As we can not foresee the numerous possibilities, we can't rely on a taxonomy or other predefined values. It could be that there is primary phone number that is the contacts mobile work number, then private numbers both mobile and fixed with different priorities (only call on this number after 6pm if you can't reach the contact on the primary number...), or there might be temporary numbers etc.

Please research and propose a flexible solution. Keep in mind that we would also need a similar solution for the connection and company entity references, and in the best scenario, provide a unified solution. Let me know if you need more info to assess the problem.

darshi-shah commented 8 years ago

Hi Rainer,

We checked several options for this. We tried https://www.drupal.org/project/multifield as well but its not working with views and that can cause a problem.

We are suggesting following :

we use field collection module and create a field collection that has 4 fields : 1 - Label (select or other) - to select what type of number is added eg mobile, landline, work etc. Select or other will allow agents to add phone number type that is not in list. 2 - value (number) 3 - description (textarea/textfield) - to add additional notes for this number 4 - checkbox(boolean) - to select whether this number is primary contact or not

We will add validations so user can select only one number as primary number.

In crm contact page, primary contact number will be shown inti ally with the option to see allcontact details.

Please note that while using this, we are not using phone field we have in conatct. So old contacts need to be edited. Also, any new contact that is created upon inquiry will not have phone number.

Please let us know your thoughts on this.

Thanks Darshi

heliogabal commented 8 years ago

Hi Darshi, Thanks for the Research. That sounds like exactly what we need, but of course we musn't loose the ability to collect and work with Phone number and E-Mails like before. So can there be a rule to fill in the field collection primary Email from the crm Email field if it is empty, or add another value if it is not while saving? Much like I did with the object_id field that gets filled on the apartment from the object?

And what is happening if I merge duplicate contacts? Can the field_collection fields be incorporated into that?

How much time would you Account for all that?

heliogabal commented 8 years ago

Maybe this is helpful how to populate the new fields? https://www.ostraining.com/blog/drupal/prepopulate/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ostrainingdrupal+%28OSTraining+Drupal%29

darshi-shah commented 8 years ago

Hi Rainer,

The link you gave uses entity reference. This can not be used in our case.

We are planning to add field collection. We will keep existing phone field but make it hidden as that is being filled automatically upon contact creation on inquiry. We will then use this field's value as first value of field collection if empty. We are estimating 3-4 days to do this and make changes in CRM to reflect this.

Thanks Darshi

heliogabal commented 8 years ago

Hi Darshi,

thanks for your research. I'm still a bit worried that this adds too much complexity that will be hard to maintain in the future, given the hundreds of bugs in field collection. Plus, it seems a lot of work for a relatively small flexibility benefit that might not get used as much as they think right now. Let me get feedback from the client if he thinks the investment is worth the feature first before you proceed.

I would like to think about an easier way to provide the client with the flexibility he needs, but right now, I can't make up my mind. Let me know if you can think of another solution to the problem.

In general, I've been looking on the time spent per issue, and I think we must get better at prioritizing and weighing the cost/benefit-ratio with everything we do. There were rather small improvements that took over 60hours, while the whole CRM work was completed in only 200h.

Therefore, I would propose that you let me know in advance if you think that an issue is taking more than 3 days to complete, so I can check back with the client to make sure he understands the work behind this and won't be surprised at the cost.

If you have other proposals how we could make our work more efficient, please let me know.