"Next Generation" Learning Plan
Summary
In LearningBuilder 10, the View Learning Plan page received a cosmetic and performance overhaul.
Overview
The overall design of LearningBuilder's application interface remain largely unchanged since its inception through LearningBuilder 9.x. In version 10.0, a new design was introduced to convey a more modern feel, better help users understand what is required of them to complete the application, and to function better on mobile devices. In addition, significant performance improvements were made.
This new "engine" is called the Next Generation Learning Plan.
IE11 is not supported
The Next Generation interface uses modern web development technologies that are not fully supported by Internet Explorer 11. Users attempting to use IE11 will be redirected to the legacy interface instead.
If your configuration uses features that behave differently in the two interfaces, consider not using the Next Generation interface or preventing IE11 users from accessing the site altogether.
Unsupported Features
LearningBuilder is a complex application and supports a vast array of configuration options. Most of the common configurations are fully supported in the new interface, but not all.
Some features are unsupported because they are deprecated and superseded by newer, better ways of achieving the same outcome. In these cases, converting a legacy application to the Next Generation interface will result in functional differences unless configuration changes are made.
Other features are functionally supported, but using them will defeat the performance optimizations; in these cases the system will function as it had using the legacy engine, but the performance will remain unchanged. No configuration changes are necessary in these cases.
Lastly, some features remain completely unsupported in LearningBuilder 10.0. Converting a legacy application to the Next Generation interface will result in functional differences with no available workaround.
Feature | Support Level | Academy | Notes |
---|---|---|---|
"To Be Completed When" rule on the Complete Learning Plan workflow step | Fall back to "Slow Lane" | ||
Using Template attributes on the Activity Card | Fall back to "Slow Lane" | See NGLP - Configure To Display Template on Activity Card for how to configure around this limitation. | |
"To Be Completed When" rule on any Complete Activity workflow step, for any Activity on the Learning Plan | Fall back to "Slow Lane" | ||
Using Templates in the Requirements Model (Applies When and Activity Filter comparison rules) | Fall back to "Slow Lane" |
| See NGLP - Configure To Display Template on Activity Card for how to configure around this limitation. |
Using Psuedo Attributes (Cycle Start Date, Cycle End Date, Reporting Start Date, Reporting End Date) on the requirements model in the Activity Filter comparison rules | Fall back to "Slow Lane" |
| ex: https://heuristicsolutions.atlassian.net/wiki/spaces/LBIA/pages/3122790548 |
Task Groups that are conditionally hidden or locked depending on another Group's status | Implemented in 10.0.3 | ||
"Minimum Units" and "Maximum Units" specified at the Learning Plan Definition itself (aka "legacy requirements model") | Deprecated; may be functional, but not supported and likely to be removed in future release | Use the Requirements Model feature to implement these rules | |
Custom "progress widget" on the Learning Plan | Not supported; future support undetermined | Existing customizations need to be reviewed and considered for innovation | |
Customized, client-specific partial views on the Learning Plan | Not supported; future support undetermined | Existing customizations need to be reviewed and considered for innovation | |
Learning Plan Payment tasks | Deprecated; not supported in LB10 mode | Use the Payment Attribute on a Workflow instead | |
Activity Container tasks | Deprecated; not supported in LB10 mode | Use the Activity Container workflow attribute instead | |
Requirements targeting competency area | Not implemented yet | No timeline yet decided. | |
Competency Rollup task | Not implemented yet | Depends on client demand; currently in-scope for a future release, but not scheduled yet NAB used this on the Legacy LP and would like it on NGLP. Dec 14, 2020 SR | |
Implemented in 10.9 | |||
"Edit Mode" inline editing of instructions | Implemented in 10.0.3 | ||
"Hide From Practitioner When" setting on the Learning Plan Definition | Not implemented yet | ||
Not implemented yet | Depends on client demand; currently in-scope for a future release, but not scheduled yet | ||
PDF Completion Certifications from ENTITY_TEMPLATE table | Deprecated; not supported in LB10 mode | See NGLP - Configure To Display PDF Completion Certificate to migration to a PDF Quick Action | |
Template Attributes for non-standard functionality, like generating links or rendering PDFs | Supported with syntax change. | When using NGLP, template attribute data-types using WriteToEntity and ReferenceEntity syntax need to be updated to more current syntax. This is done as part of the 10.1.0 and higher upgrade process. However, in the case of templates referencing data that is NOT on the entity interface (such as those in URL creation), templates need to be manually updated. See LB-1280 and 2020-01-14 - LB v10.0.3 Template Attribute syntax updates for NGLP compatibility |
Performance Tips
To maximize performance:
Avoid setting a "To Be Completed When" rule on Complete Learning Plan or Complete Activity workflow steps
Avoid Comparison Rules that evaluate a Template attribute;
Avoid displaying, or making Comparison Rules that evaluate, attribute types that do not support bulk loading / evaluation
Testing NGLP mode before making the config switch
It is possible to manually invoke the Next Generation mode without actually changing the Learning Plan configuration. This is useful for doing side-by-side testing.
To manually invoke the Next Generation mode, modify the URL and replace "View" with "Vue".
Change
/Learner/LearningPlan/View/458
/Admin/PractitionerLearningPlan/View/458
to
/Learner/LearningPlan/Vue/458
/Admin/PractitionerLearningPlan/Vue/458
Notes:
The UI will revert to the legacy view when it reloads after adding an Activity
System navigation and notifications will continue to point to the legacy interface
Comparing to legacy mode after making the config switch
If you need to refer back to the legacy implementation after making the config switch, you can manually invoke it by using the "/LegacyLP" URL.
Change
/Learner/LearningPlan/View/458
/Admin/PractitionerLearningPlan/View/458
to
/Learner/LearningPlan/LegacyLP/458
/Admin/PractitionerLearningPlan/LegacyLP/458
Notes:
The UI will revert to the NGLP mode when it reloads after adding an Activity
System navigation and notifications will continue to point to the new interface
Converting an existing Learning Plan
Converting an existing Learning Plan to use the Next Generation interface requires planning, forethought, and testing. After testing in UAT, most of the checklist items below can be done on the live site PRIOR to turning on NGLP with no ill effects.
Enable the explicit "Owner Complete" setting for the Complete Activity workflow steps.
If you do not do this, then Task Group Requirements and Requirements Model requirements will not correctly calculate. You can include the following code in the Client Specific Upgrade script:SQL to Make Owner Complete Explicit
SET NOCOUNT ON; PRINT '------------------------------------------------------------'; PRINT FORMATMESSAGE ('%s - Started Make Owner Complete Explicit',FORMAT(GETDATE(),'MM/dd/yyyy hh:mm:ss tt')); UPDATE ws SET IS_OWNER_COMPLETE = CASE WHEN isnull( ( SELECT max(ws.EXECUTE_ORDER) FROM WORKFLOW_STEP ws WHERE ws.WORKFLOW_ID = w.WORKFLOW_ID AND (ws.TO_BE_COMPLETED_BY = 1 OR ws.TO_BE_COMPLETED_BY_ID = 3) ),0) >= ws.EXECUTE_ORDER THEN 0 ELSE 1 END FROM WORKFLOW w JOIN WORKFLOW_STEP ws on ws.WORKFLOW_ID = w.WORKFLOW_ID WHERE w.WORKFLOW_TYPE_ID = 1 and w.USE_LEGACY_OWNER_COMPLETE = 1 PRINT FORMATMESSAGE (' - Updated %d Workflow Steps',@@ROWCOUNT); UPDATE w SET USE_LEGACY_OWNER_COMPLETE = 0 FROM WORKFLOW w WHERE w.WORKFLOW_TYPE_ID = 1 AND w.USE_LEGACY_OWNER_COMPLETE = 1 PRINT FORMATMESSAGE (' - Updated %d Workflows',@@ROWCOUNT); SELECT w.NAME as WORKFLOW, W_ID = w.WORKFLOW_ID, LEGACY = w.USE_LEGACY_OWNER_COMPLETE, ws.TITLE as STEP, WS_ID = ws.WORKFLOW_STEP_ID, EO = ws.EXECUTE_ORDER, IOC_CURR = ws.IS_OWNER_COMPLETE, IOC_NEW = CASE WHEN isnull( ( SELECT max(ws.EXECUTE_ORDER) FROM WORKFLOW_STEP ws WHERE ws.WORKFLOW_ID = w.WORKFLOW_ID AND (ws.TO_BE_COMPLETED_BY = 1 OR ws.TO_BE_COMPLETED_BY_ID = 3) ),0) >= ws.EXECUTE_ORDER THEN 0 ELSE 1 END, TBC = ws.TO_BE_COMPLETED_BY, TBC_ID = ws.TO_BE_COMPLETED_BY_ID, MAX_INCOMP = isnull(( SELECT max(ws.EXECUTE_ORDER) FROM WORKFLOW_STEP ws WHERE ws.WORKFLOW_ID = w.WORKFLOW_ID AND (ws.TO_BE_COMPLETED_BY = 1 OR ws.TO_BE_COMPLETED_BY_ID = 3) ),0), MIN_COMP = ( SELECT min(ws.EXECUTE_ORDER) FROM WORKFLOW_STEP ws WHERE ws.WORKFLOW_ID = w.WORKFLOW_ID AND ws.IS_OWNER_COMPLETE = 1 ) FROM WORKFLOW w JOIN WORKFLOW_STEP ws on ws.WORKFLOW_ID = w.WORKFLOW_ID WHERE w.WORKFLOW_TYPE_ID = 1 ORDER BY ws.WORKFLOW_ID, ws.EXECUTE_ORDER PRINT FORMATMESSAGE ('%s - Completed Make Owner Complete Explicit',FORMAT(GETDATE(),'MM/dd/yyyy hh:mm:ss tt')); PRINT '------------------------------------------------------------';
Check the "To Be Completed When" rule on the Complete Learning Plan workflow steps, and on the Complete Activity workflows steps for Activities that can be added to it. This rule is functionally supported, but it if is enabled the NGLP will fall back to the "slow lane" data loading path which will nullify the performance improvements.
Review the Workflow Step instructions for the Complete Learning Plan workflow. LearningBuilder 10.0 adds new settings that allow for Step-specific instructions to be displayed on the Learning Plan, independent from the instructions that are displayed in the Workflow Popup itself.
If you DO want the Task Group Overview icon to be displayed, edit the Task Group Definition and re-enable the setting that enables it. This is a new setting in NGLP and defaults to FALSE. Include the code below in the Client Specific Upgrade script to change all task group back to show the icon.
SQL to Turn Back on Task Group Icon
Check the "Applies When" and "Applies To" Comparison Rules on any Requirement Model rules. If these are referencing attributes that do not support bulk-loading, then the system will fall back to the slow lane to calculate the Requirements Model.
Review the Workflow Step Quick Actions for the Complete Learning Plan workflow steps. The Learning Plan's workflow button displays Quick Actions in Next Generation mode, but not in legacy mode, so be sure there are no Actions configured that should not be displayed to users. Include the following in the Client Specific Upgrade script to change all "recall" type Quick Actions that would otherwise become visible to the practitioner so they are Admin only.
SQL To Make LP Quick Actions Admin Only
Review the Passive Text for the Complete Learning Plan workflow steps. In legacy mode, when the Learning Plan was in "Requirements Not Met" state, the Learning Plan workflow button was disabled (gray) but displayed the Active button text. In NGLP, this button now displays the Passive button text, to follow the convention that Active text should only show up on active buttons.
Run the following SQL to determine if there are any Template attributes being displayed on Learning Plan Activity cards. If there are any, see NGLP - Configure To Display Template on Activity Card for how to configure around this limitation.
SQL to Find Templates use on LP Activity Cards
Run the following SQL to determine if there are any PDF Completion Certificates being displayed on Learning Plan Activities. If there are any, see NGLP - Configure To Display PDF Completion Certificate for a script to configure around this limitation. One row is returned for each Activity Completion workflow that has a PDF Completion Certificate.
SQL to Find PDF Completion Certificates
If the existing Learning Plan uses customized client-specific partial views, they will need to be analyzed. The Next Generation interface does not support partial views, so any custom display logic or business rules will need to be implemented in new ways (or submitted for innovation analysis). (See the analysis for this)