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 Comparison Rules.

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 Member Attribute 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 Member Attribute

MemberRoleAttributeFilterDataSource

Filters the options in a Member Role Attribute

StoredProcedureBehavior

Procedures that can be triggered by a Run Stored Procedure Behavior

EntityListAttributeDataSource

Filters the options in an Entity List Attribute

ChartDataSource

Filters the data selectable in a custom chart

ActivityLookupAttributeFilterDataSource

Filters the options in an Activity Lookup Attribute

LearningPlanPostCreateHook

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

SeatAssignmentAllocation

Procedures that can perform the “seat assignment” logic for Activity Offerings

PolledDataFile

Not in production use yet; part of the Polled Data Files 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).