Task List Tool Exercise
Task List: Software Requirements Specification
1. Introduction
- Create a Sakai tool that can be used as an example to explain the Sakai tool development process.
2. Tool Description
- The Task List Tool allows a user to add tasks in text form. All created tasks show up in a table like structure. A user can delete any task that he/she has created.
3. Functionality
- Add a task
- Delete a task (A user can only delete his/her tasks)
- List all created tasks for a specific work site
4. Technologies
- Use Spring's Ioc to inject needed Sakai services as well as Task Tool internal Manager and Service
- Use JSF for Model View Controller
- Persist data in the Sakai data source using Hibernate
- Memory based storage and Spring JDBC storage examples are included as well
5. Design
Task List Manager
- It abstracts data persistence
- Iteration 2 and 3 use a simple in memory persistence model
- Data is not saved between application server restarts
- Iteration 4 uses a Hibernate based persistence model storing data in a database
- Data is saved between application restarts
Task List Service
- Aggregates Sakai services and Task List Manager
- Uses Ioc to get a reference to services and manager implementations
- Depends on Sakai User Directory Service to get User specific information
- Depends on Sakai Tool Manager to get work site specific information
- Uses Task List Manager for data access
JSF and Backing Bean
- Provides user interface and Model View Controller functionality
- Backing bean uses IoC to get a reference to the Task List Service implementation
Diagram
6. Source Code
https://source.sakaiproject.org/contrib/programmerscafe/tags/sakai-2.2/tasklist/
7. Screenshots
Coming Soon
8. Iterations
Iteration 3
- In memory persistence
- Spring IoC
- JSF
Source Code
Screen Captures
|
|
|
|
|
Screen Capture April 27, 2006
|
TaskList in portal
|
TaskList in portal
|
, multiple selections available,
