Clone
 

mark triggs <mark@dishevelled.net> in Sakai.Git

SAK-31709 Correctly handle numeric Site IDs (#6435)

Where a site's ID was numeric, the favorites JS was sending the Site

ID through as an integer rather than a string, causing an exception on

the server side. Fixed this as follows:

* Have the FavoritesHandler code (server-side) coerce all incoming

Site IDs to Strings.

* Modify the jQuery code to use `.attr()` instead of `.data()` when

retrieving Site IDs off DOM elements. This avoids any attempt to

coerce the stored values into JS types, which we didn't want

anyway.

(cherry picked from commit c148567113f383d2fe2b6c8740b3984410fb1d01)

SAK-31709 Correctly handle numeric Site IDs (#6435)

Where a site's ID was numeric, the favorites JS was sending the Site

ID through as an integer rather than a string, causing an exception on

the server side. Fixed this as follows:

* Have the FavoritesHandler code (server-side) coerce all incoming

Site IDs to Strings.

* Modify the jQuery code to use `.attr()` instead of `.data()` when

retrieving Site IDs off DOM elements. This avoids any attempt to

coerce the stored values into JS types, which we didn't want

anyway.

SAK-31709 Correctly handle numeric Site IDs (#6435)

Where a site's ID was numeric, the favorites JS was sending the Site

ID through as an integer rather than a string, causing an exception on

the server side. Fixed this as follows:

* Have the FavoritesHandler code (server-side) coerce all incoming

Site IDs to Strings.

* Modify the jQuery code to use `.attr()` instead of `.data()` when

retrieving Site IDs off DOM elements. This avoids any attempt to

coerce the stored values into JS types, which we didn't want

anyway.

(cherry picked from commit c148567113f383d2fe2b6c8740b3984410fb1d01)

SAK-33335 When importing from site, treat Gradebook and GradebookNG as synonyms (#5237)

If the target site has GradebookNG while the source site Gradebook

Classic (or vice versa) we'll still import one into the other.

    • -0
    • +4
    /site-manage/site-manage-tool/tool/pom.xml
SAK-40603 limit cells that get redrawn after each score item save. Big performance boost in course with many categories and items.

(cherry picked from commit b1c75e1bacf06aaadb8c30c3002781c8cace03ef)

SAK-40603 limit cells that get redrawn after each score item save. Big performance boost in course with many categories and items.

SAK-40432 Modify GradebookNG to handle negative scores (#5877)

* SAK-40432 Support negative grades in GradebookNG

Although GradebookNG won't let you enter a negative grade, they can

find their way in via external tools (like Samigo) in the form of

grade overrides. Gradebook Classic shows these scores, whereas

GradebookNG would throw a JS exception. Modify GradebookNG to handle

this case.

* SAK-40432 highlight when external tool has provided a negative score in the GradebookNG table

(cherry picked from commit 2598b5494cc9a81c43433079e6b1b65485c410c9)

SAK-40432 Modify GradebookNG to handle negative scores (#5877)

* SAK-40432 Support negative grades in GradebookNG

Although GradebookNG won't let you enter a negative grade, they can

find their way in via external tools (like Samigo) in the form of

grade overrides. Gradebook Classic shows these scores, whereas

GradebookNG would throw a JS exception. Modify GradebookNG to handle

this case.

* SAK-40432 highlight when external tool has provided a negative score in the GradebookNG table

SAK-40434 Fix off-by-one error in isLarge check (#5869)

Gradebook uses two different serialization schemes, depending on the

size of the maximum grade that needs to be represented. The boundary

between these schemes (16384) wasn't properly handled: it would

attempt to use packed serialization but then throw an error because

the value couldn't be represented.

SAK-40434 Fix off-by-one error in isLarge check (#5869)

Gradebook uses two different serialization schemes, depending on the

size of the maximum grade that needs to be represented. The boundary

between these schemes (16384) wasn't properly handled: it would

attempt to use packed serialization but then throw an error because

the value couldn't be represented.

(cherry picked from commit fd0a36b55f8347f01041fd699d175b951f9bb127)

SAK-39957 If an imported comment cell is blank, clear any existing comment

SAK-39957 If an imported comment cell is blank, clear any existing comment

(cherry picked from commit eda4ee4d3779a362ffc049fa291896533139019a)

SAK-32346 (2) (#4893)

SAK-32346 (2) (#4893)

SAK-32346 (2) (#4893)

SAK-32346 (#4891)

SAK-32346 (#4891)

SAK-32346 (#4891)

SAK-32456 Don't blow up if start/end dates aren't set (#4266)

SAK-32396 Restyle top set of next/prev buttons in lessons (#4217)

SAK-32296 Add NYU's "auto favorites" feature (#4147)

There are a few components to this:

* The "Organize Favorites" tab of the "Sites" drawer now shows an

"Automatically add new sites to your favorites bar" toggle. If

this is enabled (the default), user favorites are automatically

added to include sites as they appear.

* To avoid the user being overwhelmed by sites, we introduce a limit

of 15 sites (configurable via sakai.properties) to the site bar at

the top of the portal. The "Organize Favorites" tab shows a warning

if the user has more than this many sites, and provides a visual

indication of which sites are above the fold.

* Since users will want to occasionally prune their list of favorite

sites, there's a "select all/select none" star at the top of each

term shown in the Sites drawer. This allows all sites within a term

to be favorited or unfavorited at once.

* The "Reload to see your updated favorites" indicator will now only

show if the user has made a change. I.e. favoriting and then

unfavoriting a site won't show the indicator.

SAK-32296 Add NYU's "auto favorites" feature (#4147)

There are a few components to this:

* The "Organize Favorites" tab of the "Sites" drawer now shows an

"Automatically add new sites to your favorites bar" toggle. If

this is enabled (the default), user favorites are automatically

added to include sites as they appear.

* To avoid the user being overwhelmed by sites, we introduce a limit

of 15 sites (configurable via sakai.properties) to the site bar at

the top of the portal. The "Organize Favorites" tab shows a warning

if the user has more than this many sites, and provides a visual

indication of which sites are above the fold.

* Since users will want to occasionally prune their list of favorite

sites, there's a "select all/select none" star at the top of each

term shown in the Sites drawer. This allows all sites within a term

to be favorited or unfavorited at once.

* The "Reload to see your updated favorites" indicator will now only

show if the user has made a change. I.e. favoriting and then

unfavoriting a site won't show the indicator.

SAK-31563 Rework PA System to use User IDs instead of EIDs (#3095)

Includes a DB migration to convert existing data.

SAK-31636 Rename existing 'Home' tools (#3140)

* SAK-31636 Rename existing 'Home' tools

* SAK-31636 Adjust MySQL case and provide conversions for Sakai 11.1

SAK-31636 Rename existing 'Home' tools (#3140)

* SAK-31636 Rename existing 'Home' tools

* SAK-31636 Adjust MySQL case and provide conversions for Sakai 11.1

SAK-31646 Reintroduce a check for concurrently running jobs (#3138)

SAK-31646 Reintroduce a check for concurrently running jobs (#3138)

SAM-2957 Change Samigo icon to differentiate from 'Overview' (#3108)

SAM-2957 Change Samigo icon to differentiate from 'Overview' (#3108)

SAK-31479 Capture updates made while the SiteHierarchyJob runs (#3003)

* SAK-31479 Capture updates made while the SiteHierarchyJob runs

Previous handling of the last run date created a small window where

updates could be missed.

* SAK-31479 Replace "semaphore" boolean with DisallowConcurrentExecution annotation

Provides a more robust way of stopping the job running multiple

instances at once.