Közzétéve
2008-04-30 15:25
The past few days we've been focussed on improving the user experience of CiviCRM. This also included optimizing page size and number of database queries invoked per page load. One of the things that has bothered me for some time was the inefficient implementation of the quickform hierarchical select widget for our case. That form element is quite awesome and is used quite extensively within CiviCRM. However for our "mapping" case it generates a lot of javascript, which increases page size and duplicates a lot of data.
We can optimize this significantly based on our use cases.
The mapping (import / export / search builder / profile field selector) has a few characteristics:
- We generate an array of hierselect elements, each of which have the same functionality
- We have lots of elements for each of the select elements, however the number of unique select arrays that we use is very limited (typically 4-10). Most of the times we are just dealing with Individal fields, location types and phone types.
- Most of the select elements are hidden by default.
Filed under