When using the update in batch feature, there are two maximums in Profile batch update defined by two constants in CRM/Contact/Form/Task/PickProfile.php :
- maximum contacts that should be allowed to update
protected $_maxContacts = 100;
- maximum profile fields that will be displayed
protected $_maxFields = 9;
These values are very low and limits the usefulness of the feature.
3 improvements could be made :
1. Raise those values
1000 field (1000 contacts x 1 field) takes about 15 sec to load and render. 50 sec to update all contacts.
5000 field (1000 contacts x 5 field)takes about 30 sec to load and render. 60 sec to update all contacts.
New values could be :
_maxContacts = 600 (also in ./CRM/Contact/Form/Task/Batch.php, but not used)
_maxFields = 15 (be aware this value is set in more than one place in the code)
2. Make those values configurable
Maybe in admin/setting/misc
3. Use a paging mechanism to support unlimited number of contacts
This would be really cool, but is much more work.