Task List Tool Exercise

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