SSP v2.5.1 Release Notes
SSP v2.5.1 General Release Announcement
Released July 20, 2014
SSP-2721 is a patch added to v2.4.2 and v2.5.2 to address a bug with the CAS integration for filters/requests. All implementers of this release should consider installing the patches listed in the commit section of the issue details.
Release Highlights
- Significant performance improvements in the MAP tool
- Added a person directory to allow for searching students in already added in SSP and those only in external data
- Moved file based configurations to the System Configuration
- Database performance improvements
- Validation on each configuration item
- Priority bugs and stabilization tasks
Release Notes
1) During a fix for the Journal track-step-detail administration, a bug was discovered that incorrectly set the object_status on associations that were based in active tracks, steps or details. A Liquibase script to cleanup Journal step-detail associations that were originally incorrectly set is deployed to correct the associations. The changes sets any journal_step, journal_step_detail association to an object_status of INACTIVE if either the Journal_Step or the Journal_step_detail is INACTIVE. The impact would be to potentially that a number of Journal Step Details that are visible currently in the user interface will become invisible. Although fewer may display, only the correct associations will display. New associations can be created to replace the incorrect/inactive associations that will no longer display.
2) The person directory feature requires database integrity that is not enforced by default in the database tables. For implementations where the ssp-config.properties setting db_liquibase_external_apply_natural_keys = false, duplicate rows in four key tables will cause the application to fail during deployment. The queries below will help identify duplicates rows in those tables. Prior to deploying the 2.5.X code, any rows identified in the query results should be fixed.
select school_id, COUNT(*) from external_person group by school_id having (COUNT(*) > 1) order by COUNT(*) select school_id, COUNT(*) from external_student_transcript group by school_id having (COUNT(*) > 1) order by COUNT(*) select school_id, COUNT(*) from external_student_financial_aid group by school_id having (COUNT(*) > 1) order by COUNT(*) select school_id, COUNT(*) from external_person_planning_status group by school_id having (COUNT(*) > 1) order by COUNT(*)
3) For any implementer who deployed 2.5.0, there may be a error on startup while attempting the update to v2.5.1. In the ssp.log the process to create the index on mv_directory person may fail with an error similar to the error described below. If you encounter this error, execute the sql statements described below.
Error
Caused By: Error executing SQL ALTER TABLE [dbo].[mv_directory_person] ADD CONSTRAINT [pk_id_materialized] PRIMARY KEY ([id]): The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.mv_directory_person' and the index name 'pk_id_materialized'.
SQL to Restart the Object Creation Both Databases - drop table mv_directory_person SQL Server - delete from databasechangelog where filename = 'org/jasig/ssp/database/changesets/000130.xml' and id = 'update for new installs directory_person view' - delete from databasechangelog where filename = 'org/jasig/ssp/database/changesets/000130.xml' and id = 'create mv directory_person view and pop msql' PostgreSQL - delete from databasechangelog where filename = 'org/jasig/ssp/database/changesets/000130.xml' and id = 'create mv directory_person view and pop postgresql'
4) To support the new person directory described above, stored procedures (SP) were created to execute large database operations. Following each create statement, there is a statement to grant permissions to execute the SP included in the 2.5.1 release. For SQL Server implementations, the grant statement may fail for certain account roles/permissions combinations. Executing the grant statements independently is highly recommended. The statements below cover the four new SPs and must be adjusted to replace 'ssp' with the db_username
from $SSP_CONFIGDIR/ssp-config.properties
file. These statements also assume you're using the 'dbo' schema. If you're not, you probably know what the correct schema name is. Or check the value of db_schema
in
GRANT EXEC on dbo.REFRESH_MV_DIRECTORY_PERSON to ssp; GRANT EXEC on dbo.REFRESH_MV_DIRECTORY_PERSON_BLUE to ssp; GRANT EXEC on dbo.update_directory_person_from_view_where_school_id to ssp; GRANT EXEC on dbo.update_directory_person_from_view_where_person_id to ssp;
5) A change noted in the external data definitions for v2.5.X may affect the initial deployment. A change was made to external_student_transcript_course.grade to make the column non-nullable. As the database changes are made during deployment, the application will fail if any of the rows contains a null grade. To correct the problem update the rows to ensure grade is not null and restart the application. Some implementers do not generally record grades for current and future terms. Those implementers that don't commonly use 'IP' for the current term and 'RG' for future terms. Any grade can be used as long as it's not null.
6) SSP -2035 moved configuration items from a javascript file, Configuration.js, to the config database table. This will allow SSP administrators to make all functional configuration changes in the user interface. The changes are noted in the Configuration Guide, and the entire guide should be reviewed for new configuration items. Upon deployment, the following configuration items should be made in the user interface to retain configurations previously made in Configuration.js.
syncStudentPersonalDataWithExternalData
coachFieldLabel
studentIdAlias
studentIdMinValidationLength
studentIdMaxValidationLength
studentIdAllowableCharacters
person
table and into the configuration table. So changes to the admin account'sperson
record will no longer affect the 'from' address on outbound email. Instead use theoutbound_email_address
config option in SSP -> Admin -> Administrative Tools -> System Configuration -> Configuration Options. That config will be set to the value ofselect primary_email_address from person where id = '58ba5ee3-734e-4ae9-b9c5-943774b4de41'
at the time of upgrade.
If you are upgrading an environment, you should delete or change the passwords for the uPortal users created for demonstration purposes. This can be done through the user interface: Manage Users
-> Find an Existing User
-> [Enter user ID from list below] -> [Click result] -> Delete
or Edit
, then change password. Demo users:
- advisor0
- ken
- student0
- student1
This is only necessary for upgrades. A fresh 2.5.1 install will not create these users.
A fresh install should also either change the admin
user's password or add some other user to the Portal Administrators group and delete the admin
user.
v2.5.1 JIRA Issues
Bugs
- [SSP-1522] - Provide default sort order for Coaching History report
- [SSP-2018] - PersonDao.getAll()'s unpaginated result set count does not take any SortingAndPaging-encoded filtering intro account
- [SSP-2193] - Journal Details Sorting
- [SSP-2312] - Filtering coach list in Caseload Assignment affects coach combo boxes in other views
- [SSP-2318] - Potential Issue with parameterized in clauses
- [SSP-2380] - Suppress bad Maven repo dependencies
- [SSP-2405] - Edit a task in the temp list in Action Plan clears the due date
- [SSP-2407] - Financial Aid and Term GPA displayed without trailing zeros
- [SSP-2409] - Student History Report Inconsistent Formatting
- [SSP-2412] - Action Plan spelling corrections
- [SSP-2413] - Action Plan error handling for missing CL and Due Date
- [SSP-2416] - Early Alert Response Journal Entry template missing variables
- [SSP-2422] - Validate SSO-ing users identity prior to issuing SSO ticket
- [SSP-2425] - "Signed URL SSO" ticket requests always receive 403 regardless of actual problem
- [SSP-2431] - Directory Person API To Force Update
- [SSP-2439] - References Throw Server side Exceptions After Sort by Active selected
- [SSP-2440] - Self help guide Reference Edit does not return to List on Save
- [SSP-2442] - Increase SSP portlet timeout
- [SSP-2443] - Mismatched Plan/Template field widths
- [SSP-2448] - Plan Course Count Report Extremely Slow with Large Datasets
- [SSP-2449] - Total Student Count is cut off on Disability Report
- [SSP-2450] - Invalid earlyAlertResponse.earlyAlertReferralIds variable path for EAR message template
- [SSP-2451] - Incorrectly encoded search term in username-based cross-context RESTful Platform person lookups
- [SSP-2454] - DOB label value doesn't render in Student Search
- [SSP-2455] - Choosing Caseload Re-assignment in Admin throws exception
- [SSP-2456] - SHG Early Alert Summary shouldn't be required
- [SSP-2457] - Config description for task_directory_person_refresh_trigger
- [SSP-2466] - No coaches returning throughout the application
- [SSP-2469] - Coaching History report has MAP Projected Graduation instead of MAP Ends
- [SSP-2471] - Map does not respect 'map_edit_past_term' config
- [SSP-2472] - When entering the MAP tool, if the student has no active but at least 1 inactive plan. Closing the load plan dialog leads to blank map screen
- [SSP-2478] - Electives Do not sort properly
- [SSP-2479] - Reference Drop Downs not populating
- [SSP-2480] - Change Student Search combo box label to Select Coach
- [SSP-2482] - MAP available courses scroll bar missing
- [SSP-2483] - SSP doesn't load on FF in non-minified
- [SSP-2484] - MAP page doesn't load after leaving and returning
- [SSP-2486] - CRG items not saved correctly when made inactive
- [SSP-2487] - CRG Challenges only display 20 items
- [SSP-2489] - Modified plan not checked for save when valid course is added to a plan
- [SSP-2490] - All program status filter no longer working
- [SSP-2491] - DOB missing from student search
- [SSP-2493] - Message Template admin not rendering
- [SSP-2494] - Main Tool tabs fail to load
- [SSP-2495] - Only the Main Tool link is working
- [SSP-2499] - Can not save early Alert Response
- [SSP-2502] - Permission combo box broken trying to add/edit Confidentiality Level
- [SSP-2504] - Overly precise date of birth search param
- [SSP-2505] - Duplicate Journal Step Details in Student History Report
- [SSP-2507] - Admin Confidentiality Level Does not sort on Data Permission
- [SSP-2512] - Template owner not reset upon save as after loading a template from another owner
- [SSP-2514] - Deleted Tasks showing in Main and in Student History Reports
- [SSP-2515] - Editing a Student's Task Fails
- [SSP-2516] - Student Search using MAP Status renders different results
- [SSP-2518] - Campus routing without a reason fails
- [SSP-2519] - MAP status criteria in Student Search configuration problem
- [SSP-2520] - Grade not considered when evaluating substitutions for On/Off Plan MAP Status
- [SSP-2522] - Edit Task Dialog Is Not Destroyed
- [SSP-2523] - Caseload pagination broken and sort indeterminate or obscure
- [SSP-2530] - Failing ConfidentialityLevelIT tests
- [SSP-2531] - Failing ConfigIT tests
- [SSP-2532] - Random enrollment returned to Early Alert form if studentUserName specified but not schoolId
- [SSP-2534] - Main tool rendering with all empty fields for some students
- [SSP-2537] - Search form is blank
- [SSP-2538] - Caseload Assignment- changing program status not working
- [SSP-2539] - Caseload pagination should be 100 records
- [SSP-2540] - Inactive Service Groups showing in Search criteria list
- [SSP-2541] - Main Tool Reg value not appearing on Dashboard
- [SSP-2542] - Email Action Plan dialog doesn't close
- [SSP-2543] - Action Plan print button does nothing
- [SSP-2544] - Action Plan edit temp task list dialog obscured
- [SSP-2547] - Coaching History failed on Win CI
- [SSP-2548] - Accommodation Tool save fails upon saved on Win CI
- [SSP-2549] - MAP Filter by Term value sort
- [SSP-2550] - MAP Save as New Plan fails
- [SSP-2553] - Overly generic error message when requested Early Alert student can't be found
- [SSP-2564] - Program combo box in MAP Save/Save As dialogs built from 'facet' API, should be 'all' API
- [SSP-2565] - 500 Error thrown when saving Student Intake
- [SSP-2566] - Unpredictable MAP Template term note display
- [SSP-2568] - Potentially incorrect caseloads reflected in Early Alert reminder email
- [SSP-2573] - Coaches receive Off Plan email for unrelated students
- [SSP-2574] - map_plan_status_send_off_plan_coach_email not respected
- [SSP-2578] - Inconsistent calculate_map_plan_status interpretation
- [SSP-2580] - MAP planned courses not rendering in UI
- [SSP-2585] - mv_directory_person fails when student have multiple academic programs
- [SSP-2586] - Presence of Plan notes not reflected in menu button decoration
- [SSP-2588] - JS error on Plan bump
- [SSP-2589] - External Person Always Sync'd
- [SSP-2590] - Potentially inexact course code matching in MAP UI
- [SSP-2592] - Directory Search on Anywhere brings back SSP Only
- [SSP-2593] - Tabbing from Search to Caseload does not update result panel
- [SSP-2597] - map_edit_past_terms not respected
- [SSP-2598] - MAP unexpectedly locked against certain edits
- [SSP-2599] - Student search 'enter' key press binding lost on navigating to Admin
- [SSP-2600] - MAP elective color indicators are not appearing
- [SSP-2605] - Inexact Financial Aid File and SAP Status code matching
- [SSP-2607] - Inexact person ID matching
- [SSP-2609] - Inexact configuration name matching
- [SSP-2610] - Inexact text/blurb code matching
- [SSP-2612] - Inexact student type name matching
- [SSP-2613] - Inexact confidentiality level ID and name matching
- [SSP-2617] - Action Plan Challenge combo box sorted randomly when filtered by Category
- [SSP-2619] - Adding Service Groups fails after canceling the first add
- [SSP-2622] - Inaccurate Alerts column sorting in Caseload view
- [SSP-2625] - Caseload color indicators and search for early alert status not accurate
- [SSP-2626] - Early alert due date arbitrarily extended in Postgres directory/caseload results
- [SSP-2628] - SQLServer GET_EARLY_ALERT_RESPONSE_DUE_COUNT function ignores EA closures
Improvements and New Features
- [SSP-528] - Reconsider person soft-deletion
- [SSP-1394] - Use config instead of the 'admin' person record for setting the outbound mail 'from' address
- [SSP-1535] - Add Set to Inactive button on Caseload Assignment
- [SSP-1736] - Add case insensitive index on External_person#username
- [SSP-1788] - Reset to first result page on a reference data sort
- [SSP-1998] - MAP performance degrades in long-lived browser window
- [SSP-2010] - MAP SemesterPanels initialized twice when launching MAP tool
- [SSP-2012] - Possibly dead code in SemesterPanelViewController#destroy()
- [SSP-2013] - Replacing currently render MAP plan/template should immediately mark the UI as 'loading'
- [SSP-2014] - Original navigation event doesn't complete upon saving a dirtied MAP plan/template
- [SSP-2019] - Full directory person search with option to add
- [SSP-2026] - Plan flagged as dirty if invalid course add canceled
- [SSP-2027] - Refactor custom event model to represent before/on/after lifecycles
- [SSP-2028] - MAP dirty check not triggered by person deletion
- [SSP-2031] - Slow template load times (continued)
- [SSP-2032] - MAP UI Performance Umbrella
- [SSP-2035] - Move configuration.js config into database
- [SSP-2100] - Program status-agnostic bulk caseload reassignment
- [SSP-2147] - Cache busting scheme for large static files
- [SSP-2151] - Allow generic Jira users to create and comment on SSP issues
- [SSP-2279] - MAP blank plan considered dirty
- [SSP-2289] - Accept additional EA parameters in point-to-point "Signed-URL SSO"
- [SSP-2291] - Update "Signed-URL" SSO docs to reflect expanded parameter support
- [SSP-2306] - Remove portal 'Forgot username...' link
- [SSP-2331] - Index most or all person-referencing foreign keys
- [SSP-2375] - Index most or all intra-reference data foreign keys
- [SSP-2406] - SSP UI Does not validate References Properly - Systemic
- [SSP-2411] - Allow Routings to have Group *or* Person but not necessarily both
- [SSP-2414] - Integrate Sinclair Platform UI styling
- [SSP-2415] - PersonDirectory attribute merge strategy that prevents duplicate attribute values
- [SSP-2421] - PAGS IPersonTester for non-String attributes
- [SSP-2423] - Add entry type validation to Intake in MyGPS
- [SSP-2426] - Better end-user facing error handling in EA portlet
- [SSP-2433] - Add new field length validation to Intake
- [SSP-2435] - Manual Permissions required for REFRESH_MV_DIRECTORY_PERSON on sqlserver
- [SSP-2441] - Guard against null grades in Map On/Off Plan calculations
- [SSP-2452] - Specify physical username data attribute in uPortalJdbcUserSource
- [SSP-2459] - Add a Student Search criteria for "Student Exists In"
- [SSP-2485] - Add tabbed layout to MyCaseload/Search navigation
- [SSP-2488] - MAP Elective admin paging incorrect
- [SSP-2496] - Initialize PersonDirectory Search or Document Procedure
- [SSP-2497] - Disallow entry into combo boxes in the student search
- [SSP-2498] - Disallow entry into the coach combo box in Caseload Re-assignment
- [SSP-2508] - Latest uPortal permissions patches
- [SSP-2509] - Allow Template edits without saving a new copy
- [SSP-2510] - Default tab in Caseload Assignment for SSP roles
- [SSP-2511] - Student Search on Map Status NXN
- [SSP-2513] - Change advisor label
- [SSP-2533] - Document ConfidentialityLevel API change
- [SSP-2555] - Overly-broad substitutable courses lookup for one-off MAP On/Off Plan reports
- [SSP-2571] - Sorted student list in MAP Off Plan Email
- [SSP-2583] - Don't load substitutable courses if they won't be used
- [SSP-2602] - MAP add length validation to all plan and template save dialogs
- [SSP-2618] - MAP contact info populated for Save As actions
- [SSP-2630] - Search on actual start term