Change how features are handled
The way the features are currently done is uneconomical. It is messy, confusing and adding features requires more work than it should.
In order to improve this the features should be re-factored.
One thing would be making features use an observer pattern to handle events.
Another would be improving how the features are configured.
Also, maybe do dynamic loading instead of enabling in the config file.
It may also help to put each feature in a separate package so that they are easier to find and clearer.
Blueprint information
- Status:
- Complete
- Approver:
- Kyran Lange
- Priority:
- High
- Drafter:
- Kyran Lange
- Direction:
- Needs approval
- Assignee:
- Kyran Lange
- Definition:
- Approved
- Series goal:
- Accepted for trunk
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Kyran Lange
- Completed by
- Kyran Lange
Whiteboard
Would like to have this implemented early in the cycle.
Most of the groundwork for the new event handling system is implemented. Next part will be linking the event handlers into the actual events and then moving the features over to the new system.
Have made quite a bit of progress. The features now all use an event registering system to handle events and most of the feature code has been improved, particularly the onPrivateMessage() bits.
Still needs further work, particularly handling the configuration. At the moment when adding a new feature the configParser has to be edited aswell as a settings container be created - both of which are undersirable.
Have also begun improving the online help.
-----------
3/2/09
Most of the changes have been implemented and the branch that this was being worked on has been merged with the trunk.
Still going to be some tweaking as areas that overlap with this blueprint are implemented, but the bulk of the implementation is done.