Skip to content

Milestone M2

Steven Rollo edited this page Jan 21, 2018 · 83 revisions

This page lists the goals and tasks for ClassDB Milestone M2. Tasks completed in this milestone contribute to release/version 2.0.0.

The focus is on fixing issues and making sure the documentation is updated as issues are fixed and features are added. That is, no code changes without corresponding changes to documentation.

The tasks are designed to make it easier for instructors to track/understand student activity, as well as to make it easier for students to examine their own activity.

Please add tasks to lists in appropriate section. If a list or a section does not exist, add it. Choose a task to work on and write your last name at the end of the task text in bold. When the task is complete, place a check mark the task's list item.

Issues

  • Address issues marked for this milestone (no need to re-list issues here)

User and team management

Design

Database

  • ER Schema -- Kelly
  • addRoleBaseMgmt.sql
    • Table RoleBase --Murthy
  • addUserMgmt.sql
    • Tables DDLActivity and ConnectionActivity --Murthy
    • View User -- Kelly
  • addClassDBRolesMgmt.sql -- Figueroa
    • Views Instructor, Student, and DBManager

Core Functions

  • addRoleBaseMgmt.sql -- Murthy
    • createRole
    • revokeClassDBRole
    • dropRole

GroupRole-specific Functions

  • addClassDBRolesMgmt.sql -- Figueroa
    • Functions for students
    • Functions for instructors
    • Functions for DB managers

Other Functions

  • addLogMgmt.sql --Rollo
    • importLog
    • DDL logging trigger
  • Prohibit DROP SCHEMA with DDL trigger

Views and View-like Functions -- Rollo

Full sepcifications

  • Functions
    • ClassDB.getUserActivitySummary(UserName)
    • Public.getMyActivitySummary()
    • ClassDB.getUserDDLActivity(UserName)
    • Public.getMyDDLActivity()
    • ClassDB.getUserConnectionActivity(UserName)
    • Public.getMyConnectionActivity()
    • ClassDB.getUserActivity(UserName)
    • Public.getMyActivity()
  • Views
    • Public.MyActivitySummary
    • Public.MyDDLActivity
    • Public.MyConnectionActivity
    • Public.MyActivity
    • ClassDB.StudentActivityAll
    • ClassDB.StudentActivityAnon
    • ClassDB.StudentTable
    • ClassDB.StudentTableCount

Uninstall Scripts

  • Ensure any new functions / objects are removed from a ClassDB database by removeFromDB.sql
  • [ ] Ensure that removeFromDB.sql correctly reassigns user schemas. It will need to use ClassDB.getSchemaName() Not needed with new role base system

Documentation

## Version upgrade

- [ ] List of changes to make --Rollo - [ ] portV100Data.sql: Script to port data from Version 1.0 to Version 2.0.0 - [ ] dropV100Objects.sql: Script to drop Version 1.0 that are no longer used in Version 2.0.0

Clone this wiki locally