Custom Database Objects

Designed for complex and enterprise use cases, Custom Database Objects require advanced technical support.

Overview

LearningBuilder is a very configurable system, and many features can be configured using in-app tools such as https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/219054081.

In some use cases, however, the expected business rules are so complex or client-specific that in-app configuration is not feasible.

In other cases, especially with very large databases, custom queries or procedures can be used to improve performance over general-purpose queries.

LearningBuilder addresses these needs through client-specific database procedures that can “drop into” features that are designed to use them.

For example, the https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/427786343 allows users to pick from a list of other people in the system. If the filter logic is complex, it can be written into a stored procedure that follows a specific format, and can then be selected through the UI as part of the Attribute configuration.

Configuring a Member Attribute with a custom filter procedure

Types of custom database objects

Feature indicator

Purpose

Feature indicator

Purpose

BulkAssignmentLearningPlanDataSource

Used by Bulk Assignment Learning Plans

MemberAttributeFilterDataSource

Filters the options in a https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/427786343

MemberRoleAttributeFilterDataSource

Filters the options in a

StoredProcedureBehavior

Procedures that can be triggered by a

EntityListAttributeDataSource

Filters the options in an

ChartDataSource

Filters the data selectable in a custom chart

ActivityLookupAttributeFilterDataSource

Filters the options in an

LearningPlanPostCreateHook

Procedures that can be triggered after a new Learning Plan Instance is created

SeatAssignmentAllocation

Procedures that can perform the “seat assignment” logic for

PolledDataFile

Not in production use yet; part of the spike

Sample procedures

There are pre-existing sample procedures for many of the features that can be extended this way. Those procedures often serve as examples of the input/output parameters expected in a give use case, and sometimes implement the standard/default logic (if relevant).