Current features:
Adding todo lists, adding bugs to todo lists.
Planned:
Add Context Menu Item to view/edit todo list configuration.
Configuration options per todo list:
Add Sync Services - External Calendar Client, Web Services (Remember the Milk, Google Calendar etc.) - Store username and password for these services. Associate E-mail Address with todo list. Export options: Location of todo if exported as .ics, Prompt for recipients if multiple users are to be added to the todo (this could do with Address Book integration).
Server Configuration:
Add custom WebDAV servers for inclusion in todo configuration. Setup default config. Unique names for each server.
Export Configuration:
Export opens a new dialog that the user can select services from (one at a time). For instance a user might have a todo associated with Google Calendar, Remember the Milk and External Clients. The user would select one of these to export to and if the recipient box is checked then open a new window that lets them add the recipient details (Potential for Address Book integration).
Time Scale:
1 -2 weeks? - Could potentially take the remainder of my GSoC time.
Current State as of 22 August
Working features:
- Syncing to Remember the Milk works as expected and the requests are timed correctly.
- Todo Lists themselves work as expected and contain a QDateEdit/Checkbox for dates/completed status respectively.
- Framework is mostly in place for new services to be added.
Known Bugs:
- If a user updates an item twice then only the last change will be noticed and uploaded. This needs to be fixed.
- QProgressDialog doesn't work as there is a lot of logic that needs to be tidied before it can be put in place correctly.
- There appears to be a chance of failure due to bugs being deleted from a tracker once Entomologist syncs. This needs to be corrected by either storing the full bug details or automatically removing bugs that have been deleted for the user.
Future Enhancements:
- A new scheme for storing task details needs to be implement if multi-service sync is ever going to work. I propose 2 new Database Tables that store the Internal Service ID, The ID assigned by the service for the task/list and a pointer to the original internal id for the task/list. This could then be queried on sync for the correct ID for a given task/list. This would reduce the dependence on checking names and replace it with a truly unique identify.
- Google tasks/generic WebDAV - Any other misc. service that appears popular enough to integrate.
- Refactor code to reduce some of the duplication/wasteful searching that currently exists - I would not even consider merging the code as is because of the less than stellar quality in places.
