Thoughts on ORM and the like

Monday, April 04, 2005

Upcoming Features

Multiple Employee-to-task Assignment

1.1.1. Overview

The purpose of this feature will be to allow the user to assign multiple users to the same tasks. In order to keep EP as simple and productive as possible changes to the database structure and application logic are necessary.

1.1.2. Implementation
A new table will be introduced to handle many-to-many relationships between tasks and users (in the same way it is done when assigning project members). The corresponding business entity, Task, will be updated so that now there is a collection of task assignees instead of a single one.

Changes to the task process flow will include:
1) Changing the project member list on the task details page to a check-box list to include/exclude task assignments
2) Changing the notification logic to take into account that there can be a number of task assignees
3) Time entry details page logic
4) Task Navigator logic
5) Information about assignments on bug and request list details pages
6) Reports

Search Module Description

The search module will allow the user to enter an arbitrary string, and the system will return projects, tasks, bugs, requests, and time entries which contain the search string in the title and/or description.

In order for the module to be as database-independent as possible, we will not use the full-text search capabilities of SQL Server. Instead, we will retrieve full tables from the database and use .NET DataView search features to filter the rows we need.

The module should provide 2 search modes, Simple and Advanced.
In the simple mode, the user only enters the search string, and the system looks for it in all relevant tables.

In the advanced mode, search targets can be specified (tasks, bugs, etc.), object submittal date range is available and should be taken into account if the user selects at least one date, and there is an ability to specify the assignee.