Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions blog/2020/2020-07-10-In Orbit at DevCon 2020.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Our most-attended session was 'Collaborate Best Practices' presented by Amy Eyre

<!-- truncate -->

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.
Other highlights include the 'May the Data be with you' series. I definitely 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:

Expand All @@ -38,7 +38,7 @@ And don’t forget about Hackboard: Data. This weeklong event will allow attende

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.
- Arokia Raj, INTI International 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.

Expand Down
2 changes: 1 addition & 1 deletion blog/2020/2020-10-15-Cookies-and-Browsers.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ A web application may set a cookie to track a user’s session. This is very com

Another case where cookies aren’t being sent back is during a form POST back to your application. If you set a cookie, then launch to a 3rd party application, if that application does a form POST back to you, the browser will likely not send your cookie back because it is trying to help prevent cross-site request forgery attacks.

Rather than detail all the scenarios and work arounds here I link to two web pages that are immensely helpful in explaining the situation and some possible workarounds.
Rather than detail all the scenarios and workarounds here I link to two web pages that are immensely helpful in explaining the situation and some possible workarounds.

The TL;DR is if you must set a cookie in your web application, be careful how you configure that cookie’s properties, and understand that at least in Safari, your cookies may not get passed back to you. The other browser makers are going to get as restrictive as Safari soon.

Expand Down
6 changes: 3 additions & 3 deletions blog/2020/2020-12-16-SOAP-EOL-Explained.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@ summary: In January 4, 2019 Blackboard announced deprecation of our SOAP Web Ser

Back in the day, January 4, 2019 to be exact, Blackboard announced deprecation of our SOAP Web Services with this article [Blackboard SOAP Web Services Deprecation](https://blackboard.secure.force.com/publickbarticleview?id=kA039000000Tm3cCAC&homepage=true)

Now, almost two years later in our [Learn SaaS Relase Notes](https://help.blackboard.com/learn/Administrator/SaaS/Release_Notes) we've written "As of December 31, 2020, Learn SOAP Web Services are no longer supported, as they have reached the end of life per our deprecation policy." What does this mean for you as a develoepr?
Now, almost two years later in our [Learn SaaS Release Notes](https://help.blackboard.com/learn/Administrator/SaaS/Release_Notes) we've written "As of December 31, 2020, Learn SOAP Web Services are no longer supported, as they have reached the end of life per our deprecation policy." What does this mean for you as a developer?

<!-- truncate -->

The most common concern is "Will my SOAP code continue to work in an earlier version of Learn?" or some variation. Here's a recent example: "Will this be for all versions, or will SOAP API still be available on version 3800?"

The answer is that client's self and manged-hosted systems that are on older versions of Learn will not be impacted. If your client is runnign 3800.0.3 and upgrades to the most recent Cumulative Update, the SOAP Webservices should continue to work for them.
The answer is that client's self and manged-hosted systems that are on older versions of Learn will not be impacted. If your client is running 3800.0.3 and upgrades to the most recent Cumulative Update, the SOAP Webservices should continue to work for them.

For self and managed-hosted clients that are on 3900.0.0 and are now upgrading using the same build numbers as in SaaS, SOAP will not be supported in any release post Dec 31, 2020.

Another common quesiton is from those using the Learn LIS 2.0 SIS integration, which is SOAP based. No, we are keeping the LIS 2.0 SIS integration in the product at this time. It will not be affected.
Another common question is from those using the Learn LIS 2.0 SIS integration, which is SOAP based. No, we are keeping the LIS 2.0 SIS integration in the product at this time. It will not be affected.

If you have additional questions, drop a line to [email protected] and we'll update this blog post with the answer.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ summary: How to Create a User With Limited Entitlements For REST API Calls

# How to Create a User With Limited Entitlements For REST API Calls

First, as our documentation states, a Learn admin should never be told to associate a user with Learn admin privileges with any REST API integration, see this document. Hence we often get questions from folks on how to create a user to associate with a REST API integration that has limited capability on a Learn system. One way is to research and design your REST application to use OAuth 2 3-legged Authentication. See the documents referenced below. 3LO guarentees that the user using your REST Application can only do what they can do via the Learn UX when they are logged into Learn.
First, as our documentation states, a Learn admin should never be told to associate a user with Learn admin privileges with any REST API integration, see this document. Hence we often get questions from folks on how to create a user to associate with a REST API integration that has limited capability on a Learn system. One way is to research and design your REST application to use OAuth 2 3-legged Authentication. See the documents referenced below. 3LO guarantees that the user using your REST Application can only do what they can do via the Learn UX when they are logged into Learn.

<!-- truncate -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ If you are a developer that has built a UEF integration, we actually implemented

This one-time session cookie is added to the claims in the LTI 1.3 JWT and the form POST parameters in LTI 1.1. You can grab that value from the LTI launch, return it as a parameter in your 3LO authorization code request, and your problem will be solved.

UPDATE: This section previously mentioned a bug where the userId needed to be appended to the one_time_session token. This bug has been fixed. Your code can now use the one_time_session_token as provided by Blackboard LMS without appending the userId. Blackboard no longer appends a userId, nor expects it in the returned value. If your code does append a comma and userId, that’s OK, you don’t immediatly need to change your code it as Blackboard just ignores the comma and what comes after if those are part of the value you send back.
UPDATE: This section previously mentioned a bug where the userId needed to be appended to the one_time_session token. This bug has been fixed. Your code can now use the one_time_session_token as provided by Blackboard LMS without appending the userId. Blackboard no longer appends a userId, nor expects it in the returned value. If your code does append a comma and userId, that’s OK, you don’t immediately need to change your code it as Blackboard just ignores the comma and what comes after if those are part of the value you send back.

### LTI 1.3

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ FAQ:
1. Is this just a background change, and it will not impact anything on the front end?
-> There is no impact to how our mutual clients use the LTI Tool or Learn.
2. Does making the change at the central location serve the purpose, or are we required to plan anything around individual connections for separate schools?
-> You will need to work with the individual schools to ensure that after you make the chage they redploy your tool as described above.
-> You will need to work with the individual schools to ensure that after you make the change they redeploy your tool as described above.
3. Will schools transition seamlessly once we transition from a static public key to keyset URL (JWKS), or does it require any intervention from the Black side or the school admins?
-> The school admins will need to redeploy your tool as described above.
4. Currently, both static public key and keyset URL (JWKS) are going through successfully. Is it because Blackboard hasn’t yet discontinued supporting the static public key?
Expand Down
2 changes: 1 addition & 1 deletion blog/2022/2022-08-12-DevCon2022.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ In this presentation you will get to know the Bb_rest_helper library, and how to

#### Description

The Bb Rest Helper includes 5 classes to simpilfy common API operations with Blackboard APIs;
The Bb Rest Helper includes 5 classes to simplify common API operations with Blackboard APIs;

1. 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).
2. 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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Blackboard has built our integration experience and best practices, with these l

## Integration Installation

Blackboard has thought long about how to simplify the integration experience for customers in the world of SaaS. In doing so we arrived at a "Register once, deploy everywhere" model for Integration developers to deliver theirr solutions. This applies to LTI 1.3 and RESTful integrations alike, and greatly simplifies installation for our mutual customers.
Blackboard has thought long about how to simplify the integration experience for customers in the world of SaaS. In doing so we arrived at a "Register once, deploy everywhere" model for Integration developers to deliver their solutions. This applies to LTI 1.3 and RESTful integrations alike, and greatly simplifies installation for our mutual customers.

### SaaS changed everything...

Expand All @@ -53,10 +53,10 @@ Register once and Deploy anywhere means there are some differences in how you de
> Note: The following pertains to development of integrations which are marketed to multiple customers. Only point 1 is pertinent to those who are developing campus-only solutions.

1. **Logs and data**: Integrations should maintain archives of customer logs and any integration specific data as those are not provided by Blackboard products.
2. **Multi-tenancy**: Integrations should follow a multi-tenant model vs single tenant. Multi-tenant means one integration service delivering your integration to all your customers vs requiring a new intetegration service per customer. This means you have to design into your integration the ability for enabling individual customer accounts, likely only administrator, for any customer specific configuration.
2. **Multi-tenancy**: Integrations should follow a multi-tenant model vs single tenant. Multi-tenant means one integration service delivering your integration to all your customers vs requiring a new integration service per customer. This means you have to design into your integration the ability for enabling individual customer accounts, likely only administrator, for any customer specific configuration.
3. **Separation of Customer data**: Multi-tenancy means that in addition to running a single service for your customers you are likely using a single database. This dictates a secure separation of customer data using a unique customer identifier prefix on customer-centric data keys.

Each of the above enable you to deliver a secure, efficient, and postive experience to customers at a cost savings of single instance vs multiple instance service delivery.
Each of the above enable you to deliver a secure, efficient, and positive experience to customers at a cost savings of single instance vs multiple instance service delivery.

### Best Practices

Expand Down
2 changes: 1 addition & 1 deletion docs/ally/about-api-documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To do this, you will need your client ID and your secret. See the [Getting Start

At the bottom of the documentation for the `Upload a File to Ally` endpoint, there is a **Try it now** section, where you can select a file and click submit to upload that file to be processed.

Upon upload, you will see the results appear on the screen, which will include the content hash value. This content hash value is unique to a specific piece of content, and specifically, the piece of content you just uploaded. In your application, you will use this for all subsequent calls. In the API documentation, it will automatically capture that value and paste it into the subsequest endpoints.
Upon upload, you will see the results appear on the screen, which will include the content hash value. This content hash value is unique to a specific piece of content, and specifically, the piece of content you just uploaded. In your application, you will use this for all subsequent calls. In the API documentation, it will automatically capture that value and paste it into the subsequent endpoints.

The next section is the `Check the processing status of a file` endpoint. In the **Try it now** section, you will see a field for the Content hash already filled in and a Submit button. Click submit to see the result of this call.

Expand Down
4 changes: 2 additions & 2 deletions docs/ally/auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Ally as a Service identifies the following actions:

A policy statement identifies which action(s) can be invoked on which(s) resources.

For example, the following statement would allow for retrieving the procesing status of an uploaded piece of content:
For example, the following statement would allow for retrieving the processing status of an uploaded piece of content:

```json
{
Expand All @@ -140,7 +140,7 @@ For example, the following statement would allow for retrieving the procesing st
}
```

Note that a colon indicates the start of a new part in the namespace. It is possible to use a wildcard asterisk _\*_ to widen the resource or action. For example, the following statement would allow for retrieving the procesing status of all content items:
Note that a colon indicates the start of a new part in the namespace. It is possible to use a wildcard asterisk _\*_ to widen the resource or action. For example, the following statement would allow for retrieving the processing status of all content items:

```json
{
Expand Down
2 changes: 1 addition & 1 deletion docs/ally/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: Scott Hurrey
sidebar_position: 1
---

Ally as a Service provides separatly licensed, stand-alone API access to allow an application to process files for accessibility. Many of you are using this power in your LMS to help instructors improve the accessibility of their content, and to give students, regardless of ability, access to the content that meets their needs and learning style the best.
Ally as a Service provides separately licensed, stand-alone API access to allow an application to process files for accessibility. Many of you are using this power in your LMS to help instructors improve the accessibility of their content, and to give students, regardless of ability, access to the content that meets their needs and learning style the best.

To get started, the first thing you need is a client ID, key, and secret. At this time, the best way to obtain this information is to engage your Account Executive to discuss pricing and request credentials. As the API continues to grow, this process may change, so be sure to check back here often.

Expand Down
2 changes: 1 addition & 1 deletion docs/blackboard/caliper/caliper-event-store-for-learn.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ directly to your event store.

![fill-out-the-event-store-registration-form.png](/assets/img/caliper-event-store-for-learn-6.png)

<p>As soon as you enable your event store, it will start to recieve events. Your
<p>As soon as you enable your event store, it will start to receive events. Your
event store should be a fully-hardened data warehouse. There is a ton of data
and no way to filter the data you receive on the Learn server. You
can certainly filter out the data that you want, but you will have to be able
Expand Down
2 changes: 1 addition & 1 deletion docs/blackboard/caliper/events/assessment-events.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Assessment Events"
categories: Standards
id: assesment-events
id: assessment-events
author: Scott Hurrey
published: ""
edited: ""
Expand Down
Loading