Possible Applications for ToDoListLibDotNET
When asked "what can we do with it?" I have a lot of ideas. It's important to understand what ToDoList itself does for us in terms of task/project management.
Anyone who has a number of things to do can use ToDoList. Anyone who has a lot of things to do for a lot of people can especially use ToDoList. TDL helps with prioritization, scheduling, and tracking time. It includes some basic reporting tools which are being
enhanced regularly. The way most people report on TDL data now is with XSL and transformations from the source .tdl XML files to HTML or other formats.
ToDoListLib .NET provides an alternative to that.
Here are examples of how we can use this library...
Many applications operate on a RDBMS, whether MySql, SQL Server, Oracle, or Sqlite for Android. Most reporting apps do not have a driver for XML, and those that do require a schema.
This library consists of strongly typed classes for app development and at some point a DataSet will be added ADO.NET. With this it will be easy for someone to extract data from a .tdl, and push it into a RDBMS table for subsequent reporting - a near-line /
off-line datastore. Then any reporting tool of choice can be used to operate on the data. Exports will not be created for specific databases unless it seems necessary. That exercise may be left to anyone who's motivated to do that kind of development.
It's good and necessary that TDL has some form of built-in reporting, so this doesn't preclude that effort. But this will offer options to those who prefer to use other reporting products, especially commercial tools that they've purchased to get consistent
reporting in their department or company.
- For CSV/Excel exports, the library can be used in conjunction with other development tools like Linq-to-CSV or Excel automation libraries. With these tools and a class library, developers will have a much easier time creating custom export utilities.
- Developers can use this to create outbound notifications where changes to TDL trigger emails, SMS, or other notifications.
- Developers can use this to export data from other applications into TDL. Examples include creating new tasks for sales people to notify clients of some new event, or triggers to purchasing people to check vendor pricing when it's getting close to re-order
time. Someone can even wire this to a Facebook app which gets new birthday events and updates TDL with a task to go buy a gift.
- Mobile apps can be created which monitor the installation of specific versions of software. For company use, let's say you have a Task is to get all company mobile phones upgraded to v2.0 of a specific app. You know how many phones are in the hands of company
employees. That count becomes your 100% mark to task completion. As each employee gets their phone updated and notifications are sent in, the %Complete flag is updated to reflect the new count. So if there are 50 employees and 20 of them have updated, %Complete
= 40. And to complete the cycle, if a read trigger is on that, when that task is 100% complete perhaps an email can be sent to management that everyone has now updated.
- This can help to bi-directionally integrate TDL with Bugzilla or other issue tracking systems.
- Many FOSS projects (Drupal, Wordpress, MediaWiki...) send email when there is a new release out. You can have an app monitor specific accounts for mail from these projects, and when one is found that says "you need to upgrade your software", it
will create a task in your website .tdl. Or you can be pro-active and have an app poll the various websites for new releases, whether checking their FTP sites or a portal/download page. So the app queries for an update and if found it creates a new task that
you should check into it.
- Web services can be created easy to read/write .tdl files.
- Integration with Microsoft Office gets a lot easier with strongly typed classes combined with Office Automation.
- Integration with Google docs becomes easier - just find class libraries that focus on communications and integrate with Google services, and use this library as the data interface.
- Similarly, make use of libraries for SalesForce or LinkedIn, or integrate ToDoList with your own internal ERP, Manufacturing, Shipping/Receiving or Accounting systems.
- Write your own little utilities to track how you spend your time - something less intensive than ToDoList and with a smaller UI. Use that for some of your daily activities and go back to ToDoList for a higher level view.
- Follow-up on that with your own little app for Android, iPhone, or Windows Phone. The UI is irrelevant. Call to an IIS web service where you have ToDoListLib interfacing back to your .tdl files for queries or updates.
Obviously, we can do "anything". So put your thinking cap on, come up with ideas and download the code!
Anyone who would like any of these utilities can contact Tony Gravagno, author of this library and manager of this project, to discuss development services.