Porting UCD Gradebook changes to 2.3

Porting UCD Gradebook changes to 2.3

Details of changes made to 2-1-x:

New Files (classes, etc)

  • service/src/java/org/sakaiproject/service/gradebook/shared/GradebookCourseGradeFeedService.java

    Abstract class defining string and vector constants for ...

    • properties file name and properties keys

    • property value delimiter and 'placeholder' property values for 'roster' and 'final' grades respectively

    • default column sort order

    • enumeration of course metadata column keys

  • component/src/java/org/sakaiproject/component/gradebook/GradebookCourseGradeFeedServiceImpl.java

    Stub extension of GradebookCourseGradeFeedService

  • component/src/java/org/sakaiproject/tool/gradebook/facades/SakaiSiteService.java

    Interface for Facade of Sakai SiteService

    • getSiteProviderId(): gets current site's provider id from Sakai SiteService

    • getSiteTitle(): gets current site's title from Sakai SiteService

  • tool/src/java/org/sakaiproject/tool/gradebook/facades/sakai2impl/SiteServiceImpl.java

    Implementation of SiteService facade

    • getSiteTitle(): uses gradebook id as the site id

    • getSiteTitle(): uses gradebook id as the site id

  • tool/src/bundle/org/sakaiproject/tool/gradebook/bundle/GradeDownloadConfig.properties

    properties bundle for new download options.

Modifications to pre-existing files

  • component-data/src/java/org/sakaiproject/tool/gradebook/Assignment.java

    • calculateMean(): changed mean calculation to exclude gradeableObjects with null grades

  • component-data/src/java/org/sakaiproject/tool/gradebook/PassNotPassMapping.java

    • added UC Davis' 7 kinds of 'pass/no pass' grades (S/U excluded)

  • component-data/src/java/org/sakaiproject/tool/gradebook/LetterGradeMapping.java

  • component-data/src/java/org/sakaiproject/tool/gradebook/LetterGradePlusMinusMapping.java

    • added 5 of UC Davis' 7 kinds of 'pass/no pass' grades (S/U excluded)

  • tool/src/bundle/org/sakaiproject/tool/gradebook/bundle/Messages.properties

    Added new properties defining for a export filename template which uses column names as placeholders for the implied data for that 'column'. These keys are passed to ExportBean.getCourseMetadataValue(String key) for each data.

    Examples:

    • #export_filename_sitemetadata_format=export_course_grade_gradebookid_column_name-export_course_grade_siteprovider_column_name

    • export_filename_sitemetadata_format=export_course_grade_siteprovider_column_name

    • export_filename_sitemetadata_format_delimiter=- (<-- that's a "dash character")

  • tool/src/webapp/common/WEB-INF/spring-service.xml

    added bean definition for org_sakaiproject_service_gradebook_GradebookCourseGradeFeedService bean

  • tool/src/webapp/common/WEB-INF/faces-beans.xml

    added faces bean for SiteService facade: org_sakaiproject_tool_gradebook_facades_SakaiSiteService
    added injection of org_sakaiproject_tool_gradebook_facades_ContextManagement into SiteService facade

  • tool/src/webapp/common/courseGradeDetails.jsp

    edited 'rendered' attribute of csv and excel export command buttons to check
    (!courseGradeDetailsBean.emptyEnrollments && exportBean.courseGradeDownloadEnabled)

    added commandButton for 'Enterprise Export/Download' with 'rendered' attribute checking
    (!courseGradeDetailsBean.emptyEnrollments && exportBean.courseGradeEntSubmissionEnabled)

  • tool/src/java/org/sakaiproject/tool/gradebook/ui/ExportBean.java

    Summary:

    • added property initialization logic to constructor

    • added second (boolean) parameter to getAsCsv() and getAsExcel() to switch inclusion of defined course metadata columns in the returned data

    • added getOrderedColumns() method to return a List of columns from config files or default settings

    • added getCourseMetadataValue(String key) to return appropriate values for metadata keys used in prop files (eg, Site Id, Site Title, Provider Id)

    • modified nested loops in getAs*() methods to place grade-able objects based on ordered Column settings