Because I separately wrote code to create a phone-7.x-2.x branch (drupal.org/sandbox/nephele/1928666), I inevitably made multiple different decisions about various details of the code. I thought it would be best to start to a separate issue to ask various resulting questions. These are probably mostly going to be obscure details that only cdale and I have thought about.
So, starting with the guts of the schema:
- I opted to make all of the fields have fixed sizes, whereas cdale has made the field sizes be set by the user as a field setting. I think most users have no idea when they first install the module about what sizes make sense for fields like the phone number. Furthermore, what happens if users set the field to a size that is unrealistically small, then can't fix the field size when they run into problems? Are there any real advantages to allowing users to set number_size and extension_size?
- Is $settings['number_size'] also used to determine the size of the input textfield for phone numbers? I can't immediately find it in cdale's code, however, this issue is another reason why I decided to eliminate the number_size setting. The input textfield must be larger in size than the schema text string, because users expect to be able to enter the number with spaces/punctuation, e.g. as "(555) 555-5555" instead of "5555555555" -- this problem exists in phone-7.x-1.x.
- I thought that the schema should include indexes for country code and the phone type, since they might realistically be used as filters.