We are writing this blog post to document a change to how REST APIs work with Ultra Assignments and Tests. Previously, before Blackboard version 3900.98, you could use the createAssignment REST API and treat the resulting object like a Test. You could add more than one question of differing types, using the user interface. You could use the REST API and add more than one presentation-type question type using POST request to /learn/api/public/v1/courses/{courseId}/assessments/{assessmentId}/questions/{questionId}.
Blackboard introduced a new Assignment tool with version 3900.98. It is no longer the same as a Test. With the new Assignment tool, when you use createAssignment the assignment body is still created, but you only see the instructions, with no option to add questions, and you cannot add questions using the assessments endpoint. To create a Test you must now use the createContent endpoint. You can find more information here: Creating and Updating Content with REST APIs.
Owr very own Camilo Dominguez presented us on our bbtechies session on Wednesday April 17th 2024 the Public REST API roadmap and a bit of the Developer Portal Roadmap.
Ensuring prompt email support is crucial for achieving a seamless integration. We prioritize addressing inquiries from developers and the community promptly. However, given the volume of emails we receive daily, ranging from straightforward queries to those requiring in-depth research for the best solution or alternative, our response times may vary. Our approach to supporting email inquiries involves several phases:
Upon receipt, emails undergo the following process:
The developer support team identifies the relevant domain associated with the request, such as Learn, Student, Reach, Finance, etc.
The support request is then assigned to the most suitable resource available.
Extensive research is conducted on the issue outlined in the email.
A comprehensive response is crafted and sent out to address the email.
Below are the recommended best practices to ensure you receive the quickest, most accurate, and highest quality response:
Ensure a Clear Subject Line:
Opt for a descriptive subject line summarizing the issue concisely. We recommend using the following format:
{Your Company Name}-{Domain Name}: {Brief Issue Description}
Example: YourCompanyName-AnthologyLearn: Issue with Launching Textbook Tool
Provide Relevant Information:
Include all necessary details such as issue specifics, steps to replicate, and relevant test data.
Be Concise Yet Specific:
Offer sufficient information to clarify the problem while avoiding unnecessary details that could potentially confuse the support team.
One Issue per Email:
Focus on one problem per email to streamline communication and ensure adequate attention is given to each issue.
Maintain a Polite and Professional Tone:
Uphold a respectful demeanor in your communication, regardless of any frustrations. Remember, support agents are here to assist you, and a courteous approach can enhance the interaction.
Follow Up Appropriately:
Should you not receive a response within a reasonable timeframe, consider a polite follow-up. However, refrain from overwhelming the support team with numerous emails in quick succession.
We eagerly anticipate receiving full support and collaborating with your teams to ensure a successful integration.
We will be adding sessions here as soon as we get the presentations! If you want to see your DevCon presentation, please write us at developers@anthology.com. All times are in ET.
Creating a proof of concept for an integration from scratch can be tedious, there are many basic elements such API authentication or logs that will need to be sorted out before being able to work on meaningful code, and even then, lots of code will need to be written and tested for API Requests.
This library abstracts the common and boring operations that Blackboard developers face when interfacing with the REST API so they can focus their effort in creating the cool features they need for their integrations.
This library is intended to explore Blackboard REST APIs and to help create POCs for integrations. Please note this tool is not supported by Blackboard and no warranties of any kind are provided.
In this presentation you will get to know the Bb_rest_helper library, and how to set up with Visual studio code and Jupyter notebooks to make the REST of your life easier
The Bb Rest Helper includes 5 classes to simpilfy common API operations with Blackboard APIs;
Get_Config. This class is used to get configuration variables (url,key,secret)from an external configuration file in Json format. If you are authenticating for more than one API (i.e. Learn and Collaborate) you will need separate configuration files (i.e. learn_config.json and collab_config.json).
Auth_Helper. This class is used to get the token that then will be used in the API calls. Provides different methods for the different APIs.
Bb_Requests. This class is used to simplify calls to the Blackboard Rest APIs. Provides methods for GET, POST, PUT, PATCH and DELETE requests.
Bb_Utils. A set of convenience functions (Logging, printing...), this will be extended over time.
Ally_Helper This class is used to simplify interaction with Ally as a service, includes methods to authenticate, upload a file, check processing status and retrieve the feedback. As it is an initial release for this API with limited features, it is implemented as a separate class to provide easier access to these methods rather than having to code them manually or with the Bb_rest_helper library.
For years, many of us have relied on Building Blocks as a way to add features and functionality into our Blackboard Learn courses. One of the best tools we ever used was the javascript Hacks tool, which leveraged the renderingHook function to allow a system administrator to further modify and customize their Learn environment with custom tools, banner, footers, etc. Unfortunately, the Ultra experience no longer supports the renderingHook function, removing the key mechanism for these customizations.
In order to restore some of these capabilities, Blackboard Learn implemented a new feature set called the Ultra Extension Framework (UEF). This new framework opens a number of doors for developers to once again customize and extend their Blackboard Learn environments after switching to the Ultra experience. The Ultra Extension Framework consists of two key components – telemetry data for user activity, and injection points to add content at various locations within the Ultra interface.
The telemetry data can include a number of different events, including hover, click, route, as well as portal windows being created and removed. After initially launching as an LTI tool, an UEF tool can subscribe to any number of these events, and typically runs as javascript inside of a hidden iframe within the Ultra interface. From there, the custom script can then submit requests to the Ultra interface to create new panels, banners, notifications, popups, or even a custom help provider.
The attached presentation will provide some sample code snippets from projects that we have deployed in our production environment, including banners and custom help providers.
Best Practices for Building Your LTI Advantage & REST Applications For Learn, From Registration through Release
⏲ 9:00 AM - 9:45 PM Session
👨💻 **Presenter:** Mark Kauffman
In this session Mark will give best practices for integrations that use LTI 1.3 and/or the Blackboard Learn REST APIs. There are many ways to improve your integration's performance and use, beginning with registration on the developer portal through the day it's installed on client systems. Given Mark's extensive experience working with 3rd-party integrations, he's selected those commonly missed best practices that, when you use them, will position your integration for maximum success.
DevCon 2020 is in the books, and what an amazing conference it was. This blog will start a weekly series in which everything Thursday, we will talk about DevCon from a content perspective. To begin this series, I want to set some context about the scope of this conference, so you, the reader, will have a baseline to base your opinions from.
So let's start with some basic figures:
Client Registrations: 3,113
Institutions: 1,276
Countries: 54
Badges: 2,348
358 Unique attendees to live sessions
2,352 Attendees to live sessions total
121,842 Collab session minutes
Blackboarders: 300
If we really look at this, we can come up with some interesting insights.
If we base our calculations on unique attendees to live sessions, we can see that the average attendee spent almost 6 hours actively engaged in sessions. We had 71 hours worth of sessions spread out over three separate time zones -- Monday - Friday 8am-10am EDT, Monday - Friday 1pm-3pm EDT and on five days, 3pm to 4pm, and Monday-Thursday 8pm-10pm EDT -- so the average attendee joining 6 sessions is pretty amazing.
We also issued 6.6 badges per active attendee programmatically through Badgr. These badges included attending at least 75% of a collab session associated with a session, pathways, which awarded badges based on predetermined groups of session badges, interaction with Ally, and earning points and promotions in the leaderboard.
Speaking of insights, let's take a look at a few that show how users interacted with the content provided:
Numbers and charts are cool, but what really matters from a DevCon perspective, is the experience of the attendees. Here are a few quotes that I think sum up the DevCon 2020 experience more that any statistic or chart can:
“SUPER big high-five / cheers / shout-out and ALL the other superlatives out to @Scott Hurrey and all that helped make this 2020 DevCon !!!! have greatly enjoyed it in this time of Social Distancing”
Kevin Squire, PA Virtual Charter School
“Thanks @shurrey Scott for an awesome experience.. and thank you to all the presenters as well as participants. Look forward to continue networking and finding better solutions for students and faculty.”
Arokia Raj, INTI International Universities and Colleges, Malaysia
“A big thank you to @shurrey and colleagues from @Blackboard for making the 2020 #DevCon a really special online experience. Spreading the event out over a fortnight gave participants a chance to practice and play, not just listen. Fun in dark times.”
Malcolm Murray, Durham
To summarize, DevCon 2020 was a unique experience, and one that gave me a little bit of normalcy. Of course I would rather see everyone in person, but since I can't, I was extremely happy we could have a virtual get-together.
DevCon 2020 kicked off in full force this week with clients, partners and Blackboarders around the world coming together in Learn Ultra to network, share knowledge, and dig deeper into Blackboard tech.
We’ve had a record number of people at DevCon with 2,273 attendees logging in from 973 institutions and 43 countries throughout the week. We also had some amazing content, delivered all over the world.
Our most-attended session was 'Collaborate Best Practices' presented by Amy Eyre from the University of York and Helga Gunnarsdottir from the University of the West of England (UWE), co-chairs of the EMEA Mobile and Collaborate User Group, affectionately known as MoCo.
Other highlights include the 'May the Data be with you' series. I definitly miss seeing everyone in person, so the lively interaction in these sessions led by a talented group of System Administrators was definitely the next best thing. Big thanks to Casey Eubank from WSU Tech, Chris Bray from Arkansas, Heather Crites from Columbia State Community College, Dan Gioia from St. Louis Community College, Bradley Lawton from Louisville, and Mark Reynolds from University of Illinois at Urbana-Champaign.
There were also a number of other sessions that were well-attended and extremely interesting, including:
'LTI Advantage for System Administrators', a thorough overview from Blackboard's own Eric Preston of the history of LTI, the new LTI Advantage spec, and everything a system administrator needs to know about LTI.
'A Galaxy of Learn Data - Blast off with BbData & Python!' was a look at the amazing work that Mike Bechtel from Indian River State College has done using Python to interact with Blackboard Data.
'Turning any resource into an LTI tool to optimize Base Navigation' from University of Chicago's Szymon Machajewski was an entertaining look at a simple tool that turns any URL into an LTI tool that can be embedded into any LTI-compliant platform.
I wish I could list highlights of all of the sessions, but in the spirit of brevity, let me just say thank you. Thank you to all of our presenters for taking the time out of your busy schedule -- sometimes crazy early, crazy late, or both -- to share your knowledge with the rest of our community. There is no better way to support and learn from each other than open communication. I look forward to building on this virtual DevCon to continue that global communication.
Next week, we’ll continue running sessions three times each day to accommodate all time zones and schedules. Here are some sessions you won’t want to miss:
The Python and the Postman - REST APIs for Beginners
Migrate Your B2 to LTI Advantage and REST
Models for Learn REST and LTI Integrations
The DevCon Gamification Query: what we built, how we designed it, and how might you adapt it for your institution
GUI Admin Tips and Tricks Unconference Sessions
And don’t forget about Hackboard: Data. This weeklong event will allow attendees to build meaningful insights against the wealth of information Blackboard Data puts at your fingertips. We’ll kick off Monday and finish on Friday, with two Q&A sessions in between. So add the Hackboard: Data session to your schedule and join us for the kickoff on Monday!
As I write this, it looks like Mark Reynolds is atop the leaderboard, with Bradley Lawton and Eric Silva fast on his heels. And I would be remiss if I didn't mention our badging with Badgr. So far (not including Friday), we have awarded 480 badges, including:
Arokia Raj, INTI Internation University and Colleges in Malaysia, who earned the 'Daily Champions Champion' badge by earning all of the Daily Champion badges.
Mark Carroll, Mark Reynolds, and Kevin Lowey who earned the 'Let's take it data day' badge, by attending 4 of the 8 data-based (see what I did there?) sessions.
Mark Carroll, Alicia Dunlap, Irene Rojas, and Elizabeth Barcena, who have attended more than half of the LTI sessions, earning them the 'LTI Advantageous' badge.
Hoping to see all who attended and more back on Monday as we get ready for another week of great content from our clients (and us, too).
Now you know, I can't let the chance to write some code poetry pass by:
DevCon – one week down.
Full of tips, tricks, chits and chats.
Earn those badges yet?