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