Introduction
Here we will attempt to document the various use cases in detail that will be possible in the first Scooby release as per Brian's
Seven Step Program
Actors
- Administrator
- This user is responsible for various administrative tasks like setting the default time zone, locale, etc.
- User
- This is the typical user - the person who wants to view, edit or share their calendar.
Use Cases: All Actors
- Log in
- The users enters their authentication credentials.
- The user is taken to the week view for the current week./
- Log out
- The user clicks a log out link.
- Their session is ended.
Use Cases: User Actor
- Register
- Week View
- The user naviagates to the Week view by clicking a link/button
- If an event was selected, the week view for that event's week is shown or else:
- If the user was in month view:
- If it is the current month the week view for the current day is displayed or else:
- The first week of that month's week view is displayed
- If the user was in day view:
- The week view for the week of that day is displayed
- If the user was in some other screen (i.e. not week or day view)
- The week view for the current day's week is shown.
- The events for that week are displayed
- The minical displays the month of that week
- Month View
- Day View
- Event Detail
- The user clicks on an event in Month/Week/Day View
- The event detail area displays all the information for that event
- The user optionally changes some of the information
- The user clicks the save button and the information is persisted
- The event's display in the Month/Week/Day view is updated as well
- Add an Event
- The user double-clicks on an area of the Month/Week/View
- A new event is created
- Detail shows new event information
- New Event is immediatly persisted to the server
- Default information added:
- Title "New Event" (localized)
- Date is the which ever day you clicked on
- Time:
- If week or day view, the start time will be whatever hour block you clicked on, rounded down to the hour and the duration will be an hour
- If Month view:
- If you clicked the current day, the start time will be the nearest whole hour after the present time and the duration will be an hour
- Otherwise the time period will be from noon to 1pm
- Edit Event
- Delete an event
- user clicks on an event (bringing it into the detail view)
- user clicks delete button in the detail view
- the event is deleted from the persistent store
- the event disappears from the week/day/month view
- the event info disappears from the detail view
- Move an event - Day/Week View
- The user clicks and drags an event to another time/date
- If the user is in Day or Week view the event's start date will change so that it's within the nearest 15 minute interval to where the user dropped it (i.e. :00, :15, :30, :45). The end time is adjusted so that the new duration is the same as the old.
- For month view the times will stay the same and only the date will change
- The event is persisted
Use Cases: Administrative Actor
Notes
Here are the original seven steps:
Scooby Seven Step Program suggested by BCM:
- Week and detail views and navigation between weeks.
- Event create/modify/delete, timezone preference, change password
- Month view
- Day view, minical
- iCalendar import/export
- Searching local calendars. overlay & bookmarking (consume CalDAV, iCalendar-over WebDAV, RSS/Atom)
- Ticket and sharing invitations (produce CalDAV, iMIP, RSS/Atom)