SSP v2.1.0 Release Notes

SSP v2.1.0 General Release Announcement

For implementers with an exsting installation of 2.0.0 or 2.0.1, the changes described below should be executed after the release is build during the upgrade process.  New installations of 2.1.0 are not required to make the changes described below.  Specific attention to deployment should be noted for number 1.

Release Highlights

  • Configurable Confidentiality Levels
  • Active/Inactive Reference Item Management
  • Drag and Drop Sorting for Journal Associations
  • MAP and Form Entry Improvements
  • 68 bug fixes

Upgrade Instructions

If you are running SSP version 2.0.0 or 2.0.0-b3, you are strongly encouraged to upgrade to 2.0.1 or 2.1.0 or 2.2.0 or later versions or otherwise apply the Confidentiality Level-related patches for the Student Documents tool as described by SSP-1917.

1)  External Table Database update- The external_student_test table has a new column named discriminator and included in the primary key definition.  When deploying 2.1, the new column will be added regardless of the values of db_liquibase_external_apply_natural_keys.  The default value of 'discriminator' is '1'. The application does not care what values are set.  It is intended to be a completely opaque value used exclusively to distinguish between multiple completion of the same test on the same date.  The application will fail to start if duplicate data exists in the table.  In those cases, follow the steps below:

  • Deploy and start up the 2.1 code with db_liquibase_external_apply_natural_keys=false. This will create the new column and fill in default values (1).
  • Adjust or reload the external_student_test table with discriminator values to eliminate duplicate keys
  • Restart the application with db_liquibase_external_apply_natural_keys=true. This will attempt to add a primary key to this table, including the discriminator column.

2)  Remove unused permissions with SQL

  • delete from up_permission where activity in ('PERSON_TEST_READ','PERSON_TRANSCRIPT_READ');
  • delete from up_permission_activity where activity_fname in ('PERSON_TEST_READ','PERSON_TRANSCRIPT_READ');

3)  Add new permissions for configurable Confidentiality Levels

  • ant -Dmaven.test.skip=true -Ddir=uportal-war/src/main/data/ssp_entities/patches-SSP-2-1-0/SSP-1466 data-import

4)  Add new bulk reassign permission for the Caseload Reassignment tool

  • ant -Dmaven.test.skip=true -Ddir=uportal-war/src/main/data/ssp_entities/patches-SSP-2-1-0/SSP-1762 data-import

5)  Add SSP adminsitrators to the uPortal administrators group

  • ant -Dmaven.test.skip=true -Dfile=uportal-war/src/main/data/ssp_entities/group_membership/Portal_Administrators.group-membership.xml data-import

6)  Correct the DATA_ENGLISH_SECOND_LANGAGE permission

  • update up_permission set activity = 'DATA_ENGLISH_SECOND_LANGUAGE' where activity = 'DATA_ENGLISH_SECOND_LANGAGE'
  • update up_permission_activity set activity_fname = 'DATA_ENGLISH_SECOND_LANGUAGE', activity_name = 'DATA_ENGLISH_SECOND_LANGUAGE' where activity_fname = 'DATA_ENGLISH_SECOND_LANGAGE'

7)  SSP-1668 represent a fix for case-insensitive user searches in uPortal.  The personDirectoryContext.xml has been modified in upstream versions including 2.1.0.  Any existing implementation should review the changes and appropriately configure.  The details of the change are described in the uPortal pull request.

8)  A new config option in portal.properties was added to exclude certain uP-local attributes from automatic wildcarding. The default exclusion list is SSP_ROLES, which is desired forSSP because searches on that attribute almost always include the list of current coaches in which case exact matches only are desired. See https://github.com/Jasig/uPortal/commit/d530d7abc94a20c051c43a010708f4979f233456 for where that config lives (portal.properties). The commit includes detailed comments in that file.

Deployers shouldn't need to do anything as a result of the new exclusion list config option unless there are scenarios where search on SSP_ROLES with wildcards is desired.  In that case, the following steps should be taken.

  1. Add those wildcards explicitly to their search terms (which will not work if also querying against multi-valued LDAP attributes), or
  2. Remove SSP_ROLES from the exclusion list (which will potentially results in non-exact uP-local matches)

Also, keep in mind that per its traditional behavior, uP searches on non-username attributes are automatically wildcarded by default. In non-uP local PD DAOs you need to explicitly enable that behavior.  The notes in #7 referred to above explain how to do this.

You should delete or change the passwords for the uPortal users created for demonstration purposes, especially in a production deployment. 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

Non-private installs 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.1 JIRA Issues

 

Bugs and Form Validation

  • [SSP-263] - Cancel functionality when adding reference items
  • [SSP-435] - earlyAlertSuggestionIds, earlyAlertReferralIds and earlyAlertOutreachIds appear inconsistent from the API for the Early Alert & Early Alert Response models
  • [SSP-998] - Clicking Cancel for Accommodation clears saved data on tabs
  • [SSP-1018] - 500 error occurs when country field has too many characters
  • [SSP-1019] - 500 error occurs when Country fo citizenship field has too many characters
  • [SSP-1020] - 500 error occurs when 'Ages? ...' field has too many characters
  • [SSP-1021] - 500 error occurs when 'Please Explain' field on the EduLevel tab has too many characters
  • [SSP-1022] - 500 error occurs when 'High School Attended' field has too many characters
  • [SSP-1024] - 500 error occurs when invalid data entered in State field on Personal tab
  • [SSP-1025] - 500 error occurs when invalid data entered in Citizenship field on Demographics tab
  • [SSP-1026] - 500 error occurs when invalid data entered in 'Military Affiliation' field on Demographics tab
  • [SSP-1027] - 500 error occurs when invalid data entered in 'Veteran Status' field on Demographics tab
  • [SSP-1028] - 500 error occurs when invalid data entered in 'Childcare Arrangements' field on Demographics tab
  • [SSP-1029] - 500 error occurs when invalid data entered in Shift field on Demographics tab
  • [SSP-1030] - 500 error occurs when invalid data entered in 'Student Status' field on EduPlan tab
  • [SSP-1031] - 500 error occurs when 'What is your planned major?' has too many characters
  • [SSP-1032] - 500 error occurs when "Describe bachelor's goal" has too many characters
  • [SSP-1033] - 500 error occurs when "Describe military goal" has too many characters
  • [SSP-1034] - 500 error occurs when "Describe your other goal" has too many characters
  • [SSP-1037] - 500 error occurs when "What is your planned occupation" has too many characters
  • [SSP-1038] - 500 error occurs when 'Please Explain' field on the Funding tab has too many characters
  • [SSP-1110] - Need to enforce 'Credit hours' rules
  • [SSP-1113] - Character limit not enforced for 'Plan Title'
  • [SSP-1195] - Need to enforce email address requirements on Email Plan within MAP
  • [SSP-1197] - 500 error occurs when invalid data is entered in the 'ODS Status' drop-down menu
  • [SSP-1198] - 500 error occurs when too many characters are entered in the 'Please Explain Temporary Eligibiltiy' field
  • [SSP-1199] - 500 error occurs when too many characters are entered in the 'ODS Counselor' field
  • [SSP-1200] - 500 error occurs when too many characters are entered in the 'Referred to ODS by' field
  • [SSP-1445] - Add uniqueness constraint on config.name
  • [SSP-1648] - Pointless 404 error dialog when Campus Early Alert Coordinator does not resolve
  • [SSP-1662] - PreTransitionedReportController used for Counselor_Case_Management_Report does not handle termCode and createDateFrom
  • [SSP-1668] - Duplicate uP users when local and remote usernames have different casing
  • [SSP-1669] - uP simple search not useful
  • [SSP-1701] - Journal - Disappearing Steps
  • [SSP-1702] - Admin add item/elective active not checked by default
  • [SSP-1703] - Accommodations fields do not accept numeric values
  • [SSP-1704] - Caseload Assign when coachId is null at times doesn't allow the form to save
  • [SSP-1708] - Elective name sent to server in a UUID field
  • [SSP-1717] - Duplicate MAP business rule violation descriptions in tool tip
  • [SSP-1733] - Make Usernames case insensitive
  • [SSP-1734] - Specify schema name in student_type.code columnExists precondition in 000064.xml
  • [SSP-1738] - Search is not working when using LDAP attributes other than NetID
  • [SSP-1752] - 500 error when entering invalid entry in Intake - Ethnicity
  • [SSP-1753] - 500 error when entering invalid entry in Intake - Marital Status
  • [SSP-1754] - 500 error when entering invalid entry in Intake - Race
  • [SSP-1755] - 500 error when entering invalid entry in Intake - Gender
  • [SSP-1737] - Client side entry validation
  • [SSP-1738] - Search is not working when using LDAP attributes other than NetID
  • [SSP-1739] - Caseload Reassignment tool not visible to Manager role by default
  • [SSP-1741] - Cannot reassign students from an inactive or demoted coach
  • [SSP-1743] - v_external_student_transcript_course does not generate an ID
  • [SSP-1746] - Fix bad elective --> color demo data xml and corresponding groovy script
  • [SSP-1747] - Documentation for new /1/person/{personId}/challenge/search API
  • [SSP-1749] - Parent issue for a collection of 500 error messages
  • [SSP-1760] - Active status button in SSP admin always sets to inactive on create
  • [SSP-1761] - Confidentiality Level not selectable if user doesn't hold corresponding permission grant
  • [SSP-1765] - SQL exception saving or loading a MAP with no planned courses
  • [SSP-1772] - Student Documents - Confidentiality Level not selectable if user doesn't hold corresponding permission grant
  • [SSP-1773] - Journal - Confidentiality Level not selectable if user doesn't hold corresponding permission grant
  • [SSP-1774] - Action Plan - Confidentiality Level not selectable if user doesn't hold corresponding permission grant
  • [SSP-1778] - Enrollment Status marked inactive don't display in the list
  • [SSP-1779] - Non-participating dialog doesn't close on save
  • [SSP-1780] - NPE when selecting Intake
  • [SSP-1781] - Reference items sorted by name in SSP admin
  • [SSP-1783] - Coach side reference item sorting from API results
  • [SSP-1785] - Accomodation Tool Fails to load with ExtJS Error
  • [SSP-1790] - Unpredictable MAP term grid contents when more than 20 records in external_term
  • [SSP-1792] - Student search query executed twice per request
  • [SSP-1793] - Plan status looked up several times on MAP load
  • [SSP-1794] - New admin reference items always saved as active
  • [SSP-1795] - Accessing Journal admin for Details and Steps locks browser
  • [SSP-1798] - Javascript error after saving bulk coach reassignment
  • [SSP-1803] - Cannot view course detail popup after navigating away from and back to MAP
  • [SSP-1809] - ESL permission and confidentiality level adjustments
  • [SSP-1816] - Editing document CL fails
  • [SSP-1817] - External Person Sync Doesn't Sync Photo URL
  • [SSP-1818] - Edit Action Plan CL fails
  • [SSP-1819] - Main Tool Details never shows MAP status in Recent Term Activity
  • [SSP-1822] - MAP Template printing fails because it invokes a Plan API
  • [SSP-1823] - Unable to load MAP template for edit after navigating to and from another tool
  • [SSP-1824] - Inconsistent Coaching Historing report loading
  • [SSP-1827] - Load Template dialog does not reflect recent changes
  • [SSP-1828] - Active Template checkbox always unchecked
  • [SSP-1830] - Student History Report Fails on Student With Early Alerts
  • [SSP-1832] - Non-participating reason dialog doesn't close after save
  • [SSP-1833] - Challenge Referral Links not copied into MyGPS-created action plan tasks
  • [SSP-1837] - Unscrollable printable MyGPS MAP window
  • [SSP-1839] - Cannot create private MAP Template if not granted MAP_PUBLIC_TEMPLATE_WRITE
  • [SSP-1841] - Missing caseload assignment buttons in IE9
  • [SSP-1846] - Transcripted courses don't move in Move Plan
  • [SSP-1847] - Transcript pop-up in MAP doesn't scroll
  • [SSP-1848] - Race condition in first time login for user with incorrect school_id
  • [SSP-1851] - Mispelling in MAP Move Plan Dialog
  • [SSP-1858] - Special Service Groups not displayed in Main Dashboard if user has no associated Service Reasons
  • [SSP-1859] - Coaching History report last page formatting problem
  • [SSP-1869] - Cannot keep deleted confidentiality level on edit
  • [SSP-1874] - Missing active CLs on Linux CI

Improvements and New Features

  • [SSP-128] - Add a method to the API for searching the reference guide and returning challenges based on the search
  • [SSP-693] - BCC address, if set, should always be set on outbound messages
  • [SSP-726] - Add SSP_ADMINISTRATOR as a child group of Portal Administrators in default uP entity config
  • [SSP-900] - New Early Alert always sets program status to active
  • [SSP-1115] - Update MyGPS items moved to admin UI
  • [SSP-1207] - Add student and assigned advisor email to MAP email entry by default
  • [SSP-1357] - MAP indicate multiple tags in available courses list
  • [SSP-1381] - Migrate complex config records to reference types
  • [SSP-1466] - Simplify the creation of new confidentiality levels
  • [SSP-1511] - Admin active/inactive status management
  • [SSP-1586] - Load blank Journal Entry when accessing the tool
  • [SSP-1588] - Add anticipated start date/term to Main Tool Details tab
  • [SSP-1589] - Change the student header edit link to edit assignment
  • [SSP-1590] - Change ancticipated start term and year to drop-down
  • [SSP-1594] - Display the non-part status reason in the Main Tool Dashboard and Details tab
  • [SSP-1644] - Remove unused external person-related permissions
  • [SSP-1657] - Student transcript refactoring for unique external data records
  • [SSP-1666] - Add foreign key from elective.color_id to color.id
  • [SSP-1676] - MAP requisite validation to consider transcripted courses
  • [SSP-1709] - Refactor quick fix to "print current MAP" and "email current MAP" feature
  • [SSP-1713] - 500 error when navigating to tool before caseload has loaded completely
  • [SSP-1740] - Refactor client-side Person model to accept coachId and studentType ID via setters
  • [SSP-1748] - challenge_referral.link column width too small to be useful
  • [SSP-1750] - Fall back to lookup by external_person.username if lookup by external_person.school_id fails during sync of newly created person record
  • [SSP-1756] - Retrofit Early Alert portlet to use new EnrollmentStatus reference type
  • [SSP-1757] - Move the Prog Status Change Reasons admin
  • [SSP-1759] - Caseload Reassignment is available to non-admin and non-managers
  • [SSP-1766] - Add discriminator to external_student_test natural key
  • [SSP-1782] - Drag and drop sorting for Journal associations
  • [SSP-1787] - Highlight created or edited reference data record
  • [SSP-1789] - Prevent inactive admin items from association
  • [SSP-1810] - Select coach and student type optons following external person lookup
  • [SSP-1812] - external_student_test discriminator-based natural key creation fails if no natural key had been created previously
  • [SSP-1813] - external_student_test.sub_test_code and test_date potentially nullable when natural key created
  • [SSP-1870] - Change post-edit highlight color to imply success
  • [SSP-1871] - JS files missing from sencha aggregation manifest
  • [SSP-1873] - Display CL name instead of acronym for Goals

Task

  • [SSP-1758] - Document uP attribute case-insensitivity patch and submit pull request
  • [SSP-1768] - Document caseload reassignment permission change
  • [SSP-1771] - Document changes to Early Alert API
  • [SSP-1775] - Document SQL to delete PERSON_TEST_READ and PERSON_TRANSCRIPT_READ permissions
  • [SSP-1784] - Document steps to apply new natural key to external_student_test
  • [SSP-1801] - 2.1 documentation tasks
  • [SSP-1802] - Document new config options for harmozing uP and LDAP/JDBC user search wildcarding behavior
  • [SSP-1804] - Expand personDirectoryContext.xml documentation to address recent search-related patches
  • [SSP-1852] - Document student document API