blackboard building blocks looking ahead thursday, december 03, 2015 dan mcfadyen, tracy engwirda,...
TRANSCRIPT
Blackboard Building Blocks
Looking Ahead
Tuesday, April 18, 2023
Dan McFadyen, Tracy Engwirda, Tom Joyce
Where We’ve Been
6th Generation ProductNiche, small scale app to mission critical,
enterprise-wide applicationAn emerging vision…
Where We Are
API is “stable”– 6.0 is the baseline for development– We’ve seen the problems and know what’s
important moving forward
Growing developer community– Just look around…
The vision becomes reality…
Where We’re Going
Infrastructure Updates– Database support– Operating system support– JDK support
Embedded technologies– Tomcat upgrade (Servlet 2.3/JSP 1.2)
Where We’re Going
Breadth– Expose more functionality across subsystems
Depth– Expose more functionality within subsystems
Ease of Use– Simpler, more direct access to functions– Methods that encapsulate deeper logic
BbPersistenceManager pm = BbServiceManager.getPersistenceService().getDbPersistenceManager();
ContentDbLoader contentLoader = ContentDbLoader.Default.getInstance();
String contentIdStr = request.getParameter("folderId");
Id folderId = pm.generateId( Content.DATA_TYPE, contentIdStr );
Content folder = contentLoader.loadById( folderId );
String folderIdStr = request.getParameter( “folderId” )
Content folder = (Content)Id.generateId( Content.DATA_TYPE, folderIdStr ).loadObject();
Where We’re Going
Asynchronous processing– As B2 tools become ubiquitous, many tasks
need to become decoupled from user interface events
• E.g., should a user wait for 12 tools to handle a grade book event?
Where We’re Going
Event Infrastructure– “True” events that allow extensions to get
notified of data change events– User, course, enrollment synchronization– Data reconciliation
• Course Copy• Content Copy
Where We’re Going
Real-time logic extensibility– Data transformation
• Archive/restore/export/import
– Delegated logic• Extension decides rendering criteria
Where We’re Going
Workflow hooks– A step beyond events– Extensions can integrate seamlessly into
administrative workflows• User creation• Course creation• Enrollment
– Synchronous– Affect transaction outcome
Where We’re Going
Licensing and Access Control– Exposure of the Blackboard license API and
model– Extension of the model to support extension-
provided license criteria– API to standardize checks
Heterogeneous Development
CLR/.NET APIs (server)Web Services (server and client)
– Any language that can bind to a Web Service• Type-safe binding via stubs (generated from
WSDL)• Dynamic binding via standardized APIs (JAX-RPC)
– This is possible today… tell us what you want to see (or just build it and tell us about it)
Cartridge Integration
Better introspection of packages to get custom data types
Workflow to better facilitate getting the right extension into the system– Integrated mechanism to say, “Install this
Building Block now”
… but in a way that won’t make administrators nervous
Storage Solutions
Current model requires limiting storage decisions to remain “portable”
APIs to store arbitrary data in managed locations that are honored by import/export
Potentially opening and/or customizing the schema
Internationalization
Phase I – Support the dataPhase II – Support localization
– Extensions will require locale “matching” on install
Phase III – Support multiple locales– Locale matching gets more sophisticated– API to interact with locales at user and course
levels
Building Blocks as Enablers
Filling in feature gaps– Architecture changes are expensive; features
are less so
Can provide adaptor layer for standards support
Building Blocks and Blackboard
The new product strategy aims to leverage Building Blocks for our own releases
Smaller, lower risk platform upgradesApplication Packs
– Deployed via Building Blocks, where possible– Where it’s not possible, the platform will be
enhanced– More manageable upgrades, both for
Blackboard and customers
Building Blocks and Blackboard
Common functionality and framework across products– Learning System– Portal System– Content System
Knowledge on one will transfer to the others
Thank You
Demos to Follow >