I'd like to focus on just two or three areas and make significant progress on those areas. If possible we should schedule a meeting with some NZ/AU users.
Prerequisites before the meetup include:
- Get CiviCRM to work with Drupal 6 and Joomla 1.5. This ensure that our menu / invoke system are now db driven
- Upgrade Dojo to 1.1
Here is my current list. Please add to the list and then we can pick two or three
Automated Testing (Both Unit and Browser)
- We need a better more complete test suite to enable quality releases. Currently there are a few too many variables and bugs reintroduced on every release.
- Implement hierselect widget across codebase
- Implement selective loading / unloading of sub-forms as select values change (event, relationship for custom data fields etc)
- Better text editor across CiviCRM
- Get tooltip working
- Usability changes from zoey
- Simplify forms like New Individual etc.
- Generalized dojo-based widget which allows user to Select from existing contacts OR if you type in a name with no match you get a simple dojo pop-up
form to enter basic contact info. If we make it easy to specify a filter of contact subsets for each instance ( eg. contact_type =
'Organization'...) and "force" the type of new contact to be created if needed (e.g. Organization in the Current Employer case) - then we could use this in many places:
- Current Employer input field for Edit.php and Profiles
- much smoother workflows for "New Contribution", "New Event Registration", "New Membership", "New Relationship" etc.
- Split the code so we use temp tables as needed
- Consider caching results from smart groups
- Define an interface so other modules can add / modify search criteria / constraints
- Ensure that we can add components without ANY changes to core. Kabissa / HRD might make a good simple test case. Our new custom data structure might give allow us to skip creating new tables for a component in some cases (like Kabissa). As part of component interfacing work, we might consider following detailed issues (list is being developed):
- spec & implement outstanding ideas and finalise Touchstone component and document it to provide hands-on high level example of how components should be written
- introduce activity type registration for components, together with reintroducing callback infrastructure for interfacing with external applications.
- Design and implement Components API