From 6d9b45699b49e4eb85b0a719718161f10b36fabd Mon Sep 17 00:00:00 2001 From: Davey Date: Mon, 20 Apr 2026 12:03:13 -0500 Subject: [PATCH 1/2] Changed all references from anthology to blackboard INCLUDING docs.anthology.com to docs.blackboard.com --- .github/workflows/deploy.yml | 2 +- README.md | 18 ++-- ...-DevCon-2020-new-lti-advantage-tutorial.md | 2 +- .../2020-08-24-NewRESTandUEF-tutorials.md | 2 +- ...ice-and-UEF-Documentation-now-available.md | 6 +- ...anges-That-Impact-Learn-B2-Integrations.md | 2 +- ...-10-07-New-Student-Id-Template-Variable.md | 2 +- blog/2020/2020-12-16-SOAP-EOL-Explained.md | 2 +- ...5-Caliper-Documentation-Updated-for-1.1.md | 2 +- ...Limited Entitlements For REST API Calls.md | 10 +- ...stead of cookies for UEF authentication.md | 8 +- ...st generate their own keys and JWKS URL.md | 8 +- blog/2022/2022-08-12-DevCon2022.md | 2 +- ...rationInstallationandCustomerExperience.md | 32 +++---- .../2024-03-15-bestpractices-emailsupport.md | 2 +- .../b2/archive-b2-pages-deprecated.csv | 17 ++++ .../b2/getting-started/api-documentation.md | 2 +- .../old-ami-files/configure-the-ami.md | 8 +- .../caliper/getting-started-with-caliper.md | 2 +- docs/blackboard/caliper/metric-profiles.md | 2 +- .../lti/1.3/01-register-an-application.md | 10 +- docs/blackboard/lti/1.3/02-best-practices.md | 4 +- docs/blackboard/lti/1.3/core/06-jwt-sample.md | 2 +- .../ags/02-working-with-columns.md | 6 +- .../lti/1.3/tutorials/py-lti-1p3.md | 8 +- .../[review]merge-and-crosslist-courses.md | 2 +- docs/blackboard/rest-apis/advanced/bbml.md | 4 +- ...namic-rendering-with-template-variables.md | 6 +- .../advanced/soap-to-rest-mapping.md | 2 +- docs/blackboard/rest-apis/apis-intro.md | 14 +-- docs/blackboard/rest-apis/best-practices.md | 2 +- ...accessing-content-attachments-with-cURL.md | 2 +- docs/blackboard/rest-apis/demo-code/curl.md | 14 +-- .../rest-api-with-java-command-line.md | 26 +++--- docs/blackboard/rest-apis/demo-code/ruby.md | 4 +- .../getting-started/basic-authentication.md | 14 +-- .../rest-apis/getting-started/first-steps.md | 64 ++++++------- .../rest-apis/getting-started/framework.md | 6 +- .../rest-apis/getting-started/lti-or-rest.md | 10 +- .../mapping-entitlements-to-privileges.md | 4 +- .../releasing-your-integration.md | 4 +- .../getting-started/rest-and-learn.md | 10 +- .../rest-apis/hands-on/adaptive-release.md | 2 +- .../rest-apis/hands-on/attendance.md | 2 +- .../rest-apis/hands-on/calendar-api.md | 2 +- docs/blackboard/rest-apis/hands-on/content.md | 16 ++-- .../rest-apis/hands-on/copying-courses.md | 4 +- .../rest-apis/hands-on/course-toc.md | 2 +- .../rest-apis/hands-on/gradebook.md | 2 +- .../rest-apis/hands-on/groups-and-rest-api.md | 2 +- .../rest-apis/learn-intro-[review].md | 4 +- .../blackboard/sandbox-envs/ami-config/faq.md | 4 +- .../sandbox-envs/ami-config/overview.md | 2 +- .../sandbox-envs/ami-config/server-info.md | 4 +- .../sandbox-envs/ami-config/system-access.md | 2 +- docs/blackboard/sandbox-envs/welcome.md | 2 +- docs/blackboard/sis/welcome.md | 2 +- docs/blackboard/uef/01-getting-started.md | 4 +- .../blackboard/uef/03-requirements-for-uef.md | 4 +- .../uef/04-authenticating-to-uef.md | 2 +- .../uef/Tutorials/01-lti-to-uef-tutorial.md | 4 +- .../Tutorials/05-tutorials-course-leftnav.md | 2 +- docs/blackboard/welcome.md | 6 +- docs/community/community-intro.md | 18 +--- docs/community/contact.md | 6 +- docs/community/getting-involved.md | 16 ++-- .../creating-and-managing-groups.md | 2 +- .../creating-rest-or-lti-application.md | 10 +- .../developer-portal/dev-portal-start-here.md | 28 +++--- docs/developer-portal/faq.md | 2 +- ...ion-groups-rest-api-and-site-reg-limits.md | 4 +- docs/developer-portal/rate-limit-migration.md | 2 +- docs/maintenance-and-releases.md | 20 +--- docs/partners/become-a-partner.md | 6 +- .../student/best-practices/AccountStatuses.md | 8 +- .../DeterminingAccountBalances.md | 8 +- .../best-practices/ManageClassSections.md | 8 +- .../best-practices/ManageCustomFields.md | 10 +- .../ManageEnrollmentAreasOfStudy.md | 6 +- .../best-practices/PaymentReversalUsingAPI.md | 6 +- .../PaymentVendorPartnerOverview.md | 26 +++--- .../best-practices/PostUnscheduledPayments.md | 6 +- .../best-practices/RefundAmountValidation.md | 6 +- .../best-practices/SaveStudentCourseFuture.md | 4 +- .../SaveStudentTransferCredit .md | 8 +- .../StudentQueryModelMetadata.md | 2 +- .../create-savenew-operations.md | 4 +- .../best-practices/get-save-operations.md | 4 +- .../getting-started/student-first-steps.md | 12 +-- .../about-student-service-catalog.md | 8 +- docusaurus.config.js | 14 +-- package-lock.json | 4 +- package.json | 2 +- sidebar.js | 91 ++++++++++--------- .../ExternalLinks/ExternalLinks.jsx | 8 +- src/Components/Footer/Footer.jsx | 14 +-- .../LandingHeader/LandingHeader.jsx | 4 +- src/Components/Solutions/Solutions.jsx | 14 +-- static/img/Blackboard-Full-Color-Black.svg | 45 +++++++++ static/img/Blackboard-Full-Color-White.svg | 47 ++++++++++ .../pages/GroupCollaborationTool.html | 2 +- static/uef-documentation/start.html | 4 +- 102 files changed, 502 insertions(+), 410 deletions(-) create mode 100644 docs/archive/b2/archive-b2-pages-deprecated.csv create mode 100644 static/img/Blackboard-Full-Color-Black.svg create mode 100644 static/img/Blackboard-Full-Color-White.svg diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ea440fa66..8858add32 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,7 +31,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} # Build output to publish to the `gh-pages` branch: publish_dir: ./build - cname: docs.anthology.com + cname: docs.blackboard.com # The following lines assign commit authorship to the official # GH-Actions bot for deploys to `gh-pages` branch: # https://github.com/actions/checkout/issues/13#issuecomment-724415212 diff --git a/README.md b/README.md index 15bcdc1fa..7a07534ed 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Working With The New Developer Documentation -While we will continue to deliver the Anthology Developer Documentation via this GitHub repo, we are dropping the use of Jekykll for generating the static files delivered through GitHub Pages. Instead we will be using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. +While we will continue to deliver the blackboard Developer Documentation via this GitHub repo, we are dropping the use of Jekykll for generating the static files delivered through GitHub Pages. Instead we will be using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. With this move to Docusaurus we are adding full site search capability and looking forward to using the rich features of Docusaurus and React to improve our Developer documentation experience. @@ -33,7 +33,7 @@ author: 8. `$ npm run serve` to locally serve the static build of the site - if your changes look good carry on to step 9, otherwise back to step 4 (that is faster than doing a full build for each possible test cycle), make your changes, and run through steps 5-8. 9. Do a PR with your changes... 1. When you submit your PR an automated test is run. If the test fails it shows as failed on the PR. If it is successful, and we approve the changes requested then we will merge. The test takes about 2.5 minutes. If you have merge privileges please wait until a successful test completes before attempting the merge. Allow for the merge test to complete before deleting your branch. - 2. When merged an auto-build takes place generating the static files for the docs.anthology.com pages site. The auto-build takes about 2 minutes. + 2. When merged an auto-build takes place generating the static files for the docs.blackboard.com pages site. The auto-build takes about 2 minutes. 3. After step 9.ii is complete, the pages-build-deploy action is run which copies the static pages file to github pages. The build-deploy takes about 2 minutes. 4. in 1-5 minutes the site is refreshed and delivering your new content. 10. TEST the site before claiming your ribbon! @@ -78,18 +78,18 @@ Additionally, the uef-documentation may require some additional changes in order ### 404 after PR -> **FIXED** by adding `cname: docs.anthology.com` to deploy.yml build script. Leaving below here "just in case". +> **FIXED** by adding `cname: docs.blackboard.com` to deploy.yml build script. Leaving below here "just in case". -**Problem**: For some reason _sometimes_ on a PR build Pages resets the site URL from docs.anthology.com back to `https://blackboard.github.io/anthologydevdocs/` - no idea why at this time. +**Problem**: For some reason _sometimes_ on a PR build Pages resets the site URL from docs.blackboard.com back to `https://blackboard.github.io/anthologydevdocs/` - no idea why at this time. **Solution**: -1. Reset custom domain back to docs.anthology.com if necessary. Proceed to step three below. +1. Reset custom domain back to docs.blackboard.com if necessary. Proceed to step three below. 2. If that doesn't fix it then: 1. Go to settings>pages and unpublish 2. Re-run the pages-build-deployment action - 3. Reset custom domain back to docs.anthology.com if necessary. Proceed to step three below. -3. Wait for DNS check to complete and then test by going to https://docs.anthology.com + 3. Reset custom domain back to docs.blackboard.com if necessary. Proceed to step three below. +3. Wait for DNS check to complete and then test by going to https://docs.blackboard.com ### URLs @@ -98,13 +98,13 @@ Generally markdown links work fine in Docusaurus with the following exceptions: 1. **Blog to Docs or Docs to Blog links**: There is an 'issue' where md is not translated cross plugins (blogs and docs are delivered via plugins) 2. **Links containing Anchors**: -For both 1 and 2 use HTML href tags. For 1 use the full URL and add `target="_top"` to open the link in the same browser tab. e.g.: `open doc from blog` +For both 1 and 2 use HTML href tags. For 1 use the full URL and add `target="_top"` to open the link in the same browser tab. e.g.: `open doc from blog` In cases where you are using anchor tags with your links - these _will not_ render correctly in developer mode. You have to `$ npm run clear; npm run build; npm run serve` to test. Docusaurus provides a complete reference for using [links in markdown](https://docusaurus.io/docs/markdown-features/links) in Docusaurus. -**important**: Please remember to change any http://localhost:3000 local developer/build links to production links https://docs.anthology.com before your PR. +**important**: Please remember to change any http://localhost:3000 local developer/build links to production links https://docs.blackboard.com before your PR. ### Tables diff --git a/blog/2020/2020-08-24-DevCon-2020-new-lti-advantage-tutorial.md b/blog/2020/2020-08-24-DevCon-2020-new-lti-advantage-tutorial.md index 84dea6747..ecae4462c 100644 --- a/blog/2020/2020-08-24-DevCon-2020-new-lti-advantage-tutorial.md +++ b/blog/2020/2020-08-24-DevCon-2020-new-lti-advantage-tutorial.md @@ -11,7 +11,7 @@ summary: Be sure to revisit the Developing an LTI Advantage Solution page for th # DevCon 2020 - New LTI Advantage Tutorial -Be sure to revisit the [Developing an LTI Advantage Solution](https://docs.anthology.com/docs/lti/tutorials/develop-lti-advantage-solution) page for the latest and greatest tutorial from DevCon 2020! +Be sure to revisit the [Developing an LTI Advantage Solution](https://docs.blackboard.com/docs/lti/tutorials/develop-lti-advantage-solution) page for the latest and greatest tutorial from DevCon 2020! Cheers! -markk diff --git a/blog/2020/2020-08-24-NewRESTandUEF-tutorials.md b/blog/2020/2020-08-24-NewRESTandUEF-tutorials.md index cc34e0e67..526683311 100644 --- a/blog/2020/2020-08-24-NewRESTandUEF-tutorials.md +++ b/blog/2020/2020-08-24-NewRESTandUEF-tutorials.md @@ -11,7 +11,7 @@ summary: New!! Visit the REST Tutorials and UEF Tutorials pages for our tutorial # New!! REST and UEF Tutorials -New!! Visit the [REST Tutorials](https://docs.anthology.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-tutorials) and [UEF Tutorials](https://docs.anthology.com/docs/rest-apis/premium-apis/uef/Tutorials) pages for our tutorials on these topics!! +New!! Visit the [REST Tutorials](https://docs.blackboard.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-tutorials) and [UEF Tutorials](https://docs.blackboard.com/docs/rest-apis/premium-apis/uef/Tutorials) pages for our tutorials on these topics!! Cheers! -markk diff --git a/blog/2020/2020-09-03-Ally-as-a-Service-and-UEF-Documentation-now-available.md b/blog/2020/2020-09-03-Ally-as-a-Service-and-UEF-Documentation-now-available.md index 9509c0489..cf0474334 100644 --- a/blog/2020/2020-09-03-Ally-as-a-Service-and-UEF-Documentation-now-available.md +++ b/blog/2020/2020-09-03-Ally-as-a-Service-and-UEF-Documentation-now-available.md @@ -11,12 +11,12 @@ summary: Today we launched two new sections of developer documentation - Ally as # Ally as a Service and UEF Documentation now available -Today we launched two new sections of developer documentation - [Ally as a Service](https://docs.anthology.com/docs/Rest%20APIs/ally/getting-started) (AaaS) and the [Learn Ultra Extension Framework]([/rest-apis/learn](https://docs.anthology.com/docs/Rest%20APIs/premium-apis/uef/uef-getting-started) (UEF). These new APIs give you access to integration points and functionality that allows you to bring the power of Blackboard into your applications, and ultimately, your user's experience. +Today we launched two new sections of developer documentation - [Ally as a Service](https://docs.blackboard.com/docs/Rest%20APIs/ally/getting-started) (AaaS) and the [Learn Ultra Extension Framework]([/rest-apis/learn](https://docs.blackboard.com/docs/Rest%20APIs/premium-apis/uef/uef-getting-started) (UEF). These new APIs give you access to integration points and functionality that allows you to bring the power of Blackboard into your applications, and ultimately, your user's experience. Ally as a Service is a standalone, separately licensed API to apply specific components of Ally's approach to content within your application. In its initial form, you are able to upload files, process them through Ally's accessibility checklist, and retrieve data that tells you what can be improved. This is only the tip of the iceberg, so make sure you continue to monitor this amazing capability for enhancements moving forward. For more information, including a conversation about pricing, reach out to your Account Executive. -The Ultra Extension Framework Premium APIs allow an integration to subscribe to events happening real-time in the Ultra UI, and respond to those events by interacting directly with the UI to do things like open panels, display modals, show messages and notifications, and augment the help system in Learn. Partners will need to be at a bronze level or higher to access these Premium APIs. See the partnership team for more information. If you are not a partner, check out [how to become a partner](https://docs.anthology.com/docs/partners/become-a-partner). Licensed clients need only request access. Access is granted to your group in the developer portal, much like rate limits. Just open a case on Behind the Blackboard to get started! +The Ultra Extension Framework Premium APIs allow an integration to subscribe to events happening real-time in the Ultra UI, and respond to those events by interacting directly with the UI to do things like open panels, display modals, show messages and notifications, and augment the help system in Learn. Partners will need to be at a bronze level or higher to access these Premium APIs. See the partnership team for more information. If you are not a partner, check out [how to become a partner](https://docs.blackboard.com/docs/partners/become-a-partner). Licensed clients need only request access. Access is granted to your group in the developer portal, much like rate limits. Just open a case on Behind the Blackboard to get started! -As always, [let us know](https://docs.anthology.com/docs/Community/contact.md) if you have any questions! +As always, [let us know](https://docs.blackboard.com/docs/Community/contact.md) if you have any questions! Happy Coding! diff --git a/blog/2020/2020-10-04-Changes-That-Impact-Learn-B2-Integrations.md b/blog/2020/2020-10-04-Changes-That-Impact-Learn-B2-Integrations.md index 0b8144c76..65f088815 100644 --- a/blog/2020/2020-10-04-Changes-That-Impact-Learn-B2-Integrations.md +++ b/blog/2020/2020-10-04-Changes-That-Impact-Learn-B2-Integrations.md @@ -11,6 +11,6 @@ summary: Read more to learn about important changes coming for Building Block De # Changes that will impact B2 Integrations -Read [this article](https://docs.anthology.com/docs/archive/b2/resources/preparing-for-saas-and-new-learn-versions) . Download [Oct 2020 - Changes that will impact Learn Integrations.docx](/assets/files/changes-that-will-impact-learn-oct2020.docx) to find out how to get early access for testing. +Read [this article](https://docs.blackboard.com/docs/archive/b2/resources/preparing-for-saas-and-new-learn-versions) . Download [Oct 2020 - Changes that will impact Learn Integrations.docx](/assets/files/changes-that-will-impact-learn-oct2020.docx) to find out how to get early access for testing. -Mark Kauffman diff --git a/blog/2020/2020-10-07-New-Student-Id-Template-Variable.md b/blog/2020/2020-10-07-New-Student-Id-Template-Variable.md index 5cff5bd22..53f7d29ca 100644 --- a/blog/2020/2020-10-07-New-Student-Id-Template-Variable.md +++ b/blog/2020/2020-10-07-New-Student-Id-Template-Variable.md @@ -11,7 +11,7 @@ summary: New in SaaS and the forthcoming 3900 release an @X@user.student_id@X@ t # New! Student Id Template Variable -New in SaaS and the forthcoming 3900 release\* [an @X@user.student_id@X@ template variable!](https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-dynamic_rendering). +New in SaaS and the forthcoming 3900 release\* [an @X@user.student_id@X@ template variable!](https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-dynamic_rendering). - Statements regarding our product development initiatives, including new products and future product upgrades, updates or enhancements represent our current intentions, but may be modified, delayed or abandoned without prior notice and there is no assurance that such offering, upgrades, updates or functionality will become available unless and until they have been made generally available to our customers. diff --git a/blog/2020/2020-12-16-SOAP-EOL-Explained.md b/blog/2020/2020-12-16-SOAP-EOL-Explained.md index d7a9e463e..52f34e507 100644 --- a/blog/2020/2020-12-16-SOAP-EOL-Explained.md +++ b/blog/2020/2020-12-16-SOAP-EOL-Explained.md @@ -23,6 +23,6 @@ For self and managed-hosted clients that are on 3900.0.0 and are now upgrading u 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. -If you have additional questions, drop a line to developers@anthology.com and we'll update this blog post with the answer. +If you have additional questions, drop a line to developers@blackboard.com and we'll update this blog post with the answer. Happy 2021! diff --git a/blog/2021/2021-01-05-Caliper-Documentation-Updated-for-1.1.md b/blog/2021/2021-01-05-Caliper-Documentation-Updated-for-1.1.md index c3a42a487..941f549db 100644 --- a/blog/2021/2021-01-05-Caliper-Documentation-Updated-for-1.1.md +++ b/blog/2021/2021-01-05-Caliper-Documentation-Updated-for-1.1.md @@ -13,7 +13,7 @@ summary: We have spent some time over the holiday break updating and organizing We have spent some time over the holiday break updating and organizing our documentation better. One of the longest outstanding changes was to update the Caliper event samples from 1.0 to 1.1. -I am pleased to announce that we have finally completed this project. The [event guide](https://docs.anthology.com/docs/Standards/Caliper/events/caliper-events-guide) is largely unchanged, but the individual events have all been updated to show current sample payloads from each event, allowing you to better anticipate the messages you will receive and better plan your storage and reporting requirements. +I am pleased to announce that we have finally completed this project. The [event guide](https://docs.blackboard.com/docs/Standards/Caliper/events/caliper-events-guide) is largely unchanged, but the individual events have all been updated to show current sample payloads from each event, allowing you to better anticipate the messages you will receive and better plan your storage and reporting requirements. Over the next few weeks, we will be highlighting some of the other key updates that we hope will help ease the onboarding process for new developers and make finding exactly what you need when you need it for everyone. diff --git a/blog/2021/2021-01-06-How to Create a User With Limited Entitlements For REST API Calls.md b/blog/2021/2021-01-06-How to Create a User With Limited Entitlements For REST API Calls.md index e8336f5cd..ca2fb052b 100644 --- a/blog/2021/2021-01-06-How to Create a User With Limited Entitlements For REST API Calls.md +++ b/blog/2021/2021-01-06-How to Create a User With Limited Entitlements For REST API Calls.md @@ -19,9 +19,9 @@ The answer is yes! [Here's a video explaining exactly how to proceed](https://yo Reference Documentation: -- [Managing REST Integrations in Learn: The REST Integrations Tool for System Administrators](https://docs.anthology.com/docs/rest-apis/learn/admin/rest_apis-learn-admin-rest_and_learn) -- [Basic Authentication with REST](https://docs.anthology.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-basic_auth) -- [Three-Legged OAuth](https://docs.anthology.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-3lo) +- [Managing REST Integrations in Learn: The REST Integrations Tool for System Administrators](https://docs.blackboard.com/docs/rest-apis/learn/admin/rest_apis-learn-admin-rest_and_learn) +- [Basic Authentication with REST](https://docs.blackboard.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-basic_auth) +- [Three-Legged OAuth](https://docs.blackboard.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-3lo) - [https://github.com/Kong/mashape-oauth/blob/master/FLOWS.md](https://github.com/Kong/mashape-oauth/blob/master/FLOWS.md) -- [REST Tutorials](https://docs.anthology.com/docs/rest-apis/learn/getting-started/Tutorials) -- [Bookmarklet to help map entitlements to permissions](https://community.blackboard.com/blogs/4/18) (requires login.) or [document on this site](https://docs.anthology.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-entitlements) +- [REST Tutorials](https://docs.blackboard.com/docs/rest-apis/learn/getting-started/Tutorials) +- [Bookmarklet to help map entitlements to permissions](https://community.blackboard.com/blogs/4/18) (requires login.) or [document on this site](https://docs.blackboard.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-entitlements) diff --git a/blog/2021/2021-05-10-use one time session tokens instead of cookies for UEF authentication.md b/blog/2021/2021-05-10-use one time session tokens instead of cookies for UEF authentication.md index 0b0adb98d..b914192ee 100644 --- a/blog/2021/2021-05-10-use one time session tokens instead of cookies for UEF authentication.md +++ b/blog/2021/2021-05-10-use one time session tokens instead of cookies for UEF authentication.md @@ -11,7 +11,7 @@ summary: As browsers continue to lock down cookies, particularly with iframes, t # Use One-Time Session Token to Authenticate with UEF -In testing with the [Google Canary Chrome Browser](https://www.google.com/chrome/canary/), one of our clients discovered an issue that was blocking users from logging in to their Learn instance. After much troubleshooting, we discovered a multi-layer issue that brings us to, you guessed it, [cookies](https://docs.anthology.com/blog/2020/10/15/Cookies-and-Browsers). +In testing with the [Google Canary Chrome Browser](https://www.google.com/chrome/canary/), one of our clients discovered an issue that was blocking users from logging in to their Learn instance. After much troubleshooting, we discovered a multi-layer issue that brings us to, you guessed it, [cookies](https://docs.blackboard.com/blog/2020/10/15/Cookies-and-Browsers). > **This affects clients in SaaS with Ultra Base Navigation enabled using Ultra integrations that rely on UEF**
> **Review UPDATE in LTI 1.3 section. This post previously mentioned a bug that no longer exists.** @@ -26,11 +26,11 @@ if ( top != self ) } ``` -In and of itself there's nothing wrong with it. We, at Anthology, have removed it from the default Ultra login page, but many clients use it in Original login pages, and so it's moved with them into Ultra. +In and of itself there's nothing wrong with it. We, at Blackboard, have removed it from the default Ultra login page, but many clients use it in Original login pages, and so it's moved with them into Ultra. > If you are unsure whether you have a custom login page, visit [help.blackboard.com](https://help.blackboard.com/learn/Administrator/SaaS/User_Interface_Options/Ultra_Experience/Institution_Branding/Customize_the_Login_Page) for more information. -Secondly, when a user logged in, Ultra Extensions automatically fired off an LTI launch to UEF-enabled tools. The way UEF works is: after the LTI launch is validated, the tool redirects to the Learn REST endpoint to initiate a UserAuth flow. In our documentation, we call this a Three-Legged OAuth or [3LO](https://docs.anthology.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-3lo). In most cases, it's a process that relies on a session cookie to hold everything together. This impending release of Chrome (and other browsers) will block this cookie because everything is happening across domains and involves the use of iframes. +Secondly, when a user logged in, Ultra Extensions automatically fired off an LTI launch to UEF-enabled tools. The way UEF works is: after the LTI launch is validated, the tool redirects to the Learn REST endpoint to initiate a UserAuth flow. In our documentation, we call this a Three-Legged OAuth or [3LO](https://docs.blackboard.com/docs/rest-apis/learn/getting-started/rest_apis-learn-getting-started-3lo). In most cases, it's a process that relies on a session cookie to hold everything together. This impending release of Chrome (and other browsers) will block this cookie because everything is happening across domains and involves the use of iframes. So what happens is that, even though the integration is configured in Learn to not force the end-user to authorize the integration, the lack of the session cookie means that Learn has no idea that this user is logged in, so it pops open the login page. @@ -81,6 +81,6 @@ By now, I hope you are using LTI 1.3, but I know many are not. As a result, we a We have validated this fix with one of the partners that was affected. If you are a developer, please fix the issue immediately! If you are an administrator of a Learn SaaS instance using Ultra, and you have UEF integrations, make sure you do not have that JavaScript snippet on your login page. And if you do, please remove it. Then let your UEF integration partners and developers know that this fix must be made as soon as possible. -Regardless of whether you are an administrator or a developer, please feel free to reach out to us at developers@anthology.com with any questions. +Regardless of whether you are an administrator or a developer, please feel free to reach out to us at developers@blackboard.com with any questions. Happy coding! diff --git a/blog/2021/2021-07-22-LTI 1.3 tools must generate their own keys and JWKS URL.md b/blog/2021/2021-07-22-LTI 1.3 tools must generate their own keys and JWKS URL.md index 5d6a4c004..653086e6b 100644 --- a/blog/2021/2021-07-22-LTI 1.3 tools must generate their own keys and JWKS URL.md +++ b/blog/2021/2021-07-22-LTI 1.3 tools must generate their own keys and JWKS URL.md @@ -15,7 +15,7 @@ When we started supporting LTI 1.3/Advantage (back in May of 2019) we chose to g But the [IMS Global](https://imsglobal.org) community has moved away from that model and now suggests that tool vendors generate their own key pairs for LTI authentication and provide their public key via a [JWKS URL](https://datatracker.ietf.org/doc/html/rfc7517). This model is more secure because there is not copying of a private key and allows the LTI Tool provider to follow best practices with key rotation. -We decided to follow that suggestion. If you want to register a new tool with Learn, you have to provide the JWKS URL information. And if you have an existing tool that use the Anthology-generated private key, please keep in mind that we'll be terminating support in the near future. +We decided to follow that suggestion. If you want to register a new tool with Learn, you have to provide the JWKS URL information. And if you have an existing tool that use the Blackboard-generated private key, please keep in mind that we'll be terminating support in the near future. NOTE: Once you've made the change, you must have our mutual clients redeploy your LTI 1.3 tool. Redeploy means the following: 1. Admin -> Integrations, LTI Tool Providers -> Register LTI 1.3/Advantage Tool @@ -34,9 +34,9 @@ FAQ: -> You will need to work with the individual schools to ensure that after you make the chage they redploy 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 Anthology hasn’t yet discontinued supporting the static public key? --> Anthology will continue supporting the keys that were originally provided until further notice, likely until the end of 2022*. +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? +-> Blackboard will continue supporting the keys that were originally provided until further notice, likely until the end of 2022*. -As always, if you have any questions, check out the [contact us page](https://docs.anthology.com/docs/Community/community-contact_us) and let us know! +As always, if you have any questions, check out the [contact us page](https://docs.Blackboard.com/docs/Community/community-contact_us) and let us know! *Statements regarding our product development initiatives, including new products and future product upgrades, updates or enhancements represent our current intentions, but may be modified, delayed or abandoned without prior notice and there is no assurance that such offering, upgrades, updates or functionality will become available unless and until they have been made generally available to our customers. \ No newline at end of file diff --git a/blog/2022/2022-08-12-DevCon2022.md b/blog/2022/2022-08-12-DevCon2022.md index c1f708661..a73ae1297 100644 --- a/blog/2022/2022-08-12-DevCon2022.md +++ b/blog/2022/2022-08-12-DevCon2022.md @@ -26,7 +26,7 @@ hide_table_of_contents: false # DevCon 2022 Presentations! -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. +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@blackboard.com. All times are in ET. > **Day 1 @ DevCon 2022** diff --git a/blog/2023/2023-05-01-IntegrationInstallationandCustomerExperience.md b/blog/2023/2023-05-01-IntegrationInstallationandCustomerExperience.md index 2ecfe9573..05cd1aa3a 100644 --- a/blog/2023/2023-05-01-IntegrationInstallationandCustomerExperience.md +++ b/blog/2023/2023-05-01-IntegrationInstallationandCustomerExperience.md @@ -1,5 +1,5 @@ --- -slug: Anthology Integrations and Customer Experience +slug: Blackboard Integrations and Customer Experience title: Integration Installation and Customer Experience authors: - name: Mark O'Neil @@ -10,11 +10,11 @@ hide_table_of_contents: false # Integration Installation and Customer Experience -Anthology has designed it's model for integrations in a manner which, when executed following our best practices, improves the Customer Integration Experience. Our goals in this area are multi-fold, yet all drive toward the best experience possible when Customers license, purchase, or develop integrations for enhancing their Anthology Products as campus differentiators and enablers in achieving their Teaching and Learning objectives for their Staff, Faculty, and Students. +Blackboard has designed it's model for integrations in a manner which, when executed following our best practices, improves the Customer Integration Experience. Our goals in this area are multi-fold, yet all drive toward the best experience possible when Customers license, purchase, or develop integrations for enhancing their Blackboard Products as campus differentiators and enablers in achieving their Teaching and Learning objectives for their Staff, Faculty, and Students. ## Why is Customer Experience Important? -Customer experience is important for Partners and Anthology Customers for many reasons. Most notably: +Customer experience is important for Partners and Blackboard Customers for many reasons. Most notably: **Customer Retention**: Providing a positive customer experience can help improve customer retention rates. Customers are more likely to remain loyal to a brand if they have had a positive experience with the company. @@ -22,7 +22,7 @@ Customer experience is important for Partners and Anthology Customers for many r **Competitive Advantage**: Providing a superior customer experience can set a business apart from its competitors and give it a competitive advantage. -Overall, a positive customer experience is essential for building strong customer relationships, increasing customer loyalty, and improving the overall success of a business. This applies to our developer community as well as Anthology. +Overall, a positive customer experience is essential for building strong customer relationships, increasing customer loyalty, and improving the overall success of a business. This applies to our developer community as well as Blackboard. In addition to the general integration functionality, for which the integration development team is ultimately responsible, the most significant impact on the Customer Experience is installation and support of your integration. @@ -30,17 +30,17 @@ Installation of your integration is often the first experience customers will ha How clients discover and know whom to contact for Support is also a significant influencer of impressions of your business. -Anthology has built our integration experience and best practices, with these latter two concepts in mind. +Blackboard has built our integration experience and best practices, with these latter two concepts in mind. ## Integration Installation -Anthology 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 theirr solutions. This applies to LTI 1.3 and RESTful integrations alike, and greatly simplifies installation for our mutual customers. ### SaaS changed everything... -In prior years you may have built integrations which ran on-prem or in-process alongside the Anthology product. This required customers to manage the software themselves. Under the more modern SaaS model, which is used by Anthology, the customer is no responsible for updating and maintaining the integration, as SaaS product consumers receive updates automatically. +In prior years you may have built integrations which ran on-prem or in-process alongside the Blackboard product. This required customers to manage the software themselves. Under the more modern SaaS model, which is used by Blackboard, the customer is no responsible for updating and maintaining the integration, as SaaS product consumers receive updates automatically. -To facilitate the SaaS model, the Anthology Developer Portal provides the means for you the Developer to register your integration once and deploy to multiple customers. Once your integration is registered in the Developer Portal an identifier is issued - this identifier is used by _all customers_ to install your integration. +To facilitate the SaaS model, the Blackboard Developer Portal provides the means for you the Developer to register your integration once and deploy to multiple customers. Once your integration is registered in the Developer Portal an identifier is issued - this identifier is used by _all customers_ to install your integration. This means you have one instance of your integration and all customers use that instance. This of course imply some design concepts for your integration. @@ -52,7 +52,7 @@ 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 Anthology products. +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. 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. @@ -68,13 +68,13 @@ There are really two _types_ of Developer Portal accounts: 2. Production Accounts: these are your accounts used for production release of your integration. Given this account's information is what customers see when they install your integration it is considered a best practice to use a mailinglist such as business@, integration_name@, or support@domain.tld. This email must be publicly reachable. 3. Production Group: This is a very specific group within your Production Account which contains your integrations. This group receives production level settings. -See Getting Started with the Developer Portal for more information. +See Getting Started with the Developer Portal for more information. #### Production Integration Release -See our Releasing your Integration guide for production release details. +See our Releasing your Integration guide for production release details. -Also see LTI Registration and Deployment with Learn guide which describes Anthology's approach behind releasing LTI 1.3 integrations. +Also see LTI Registration and Deployment with Learn guide which describes Blackboard's approach behind releasing LTI 1.3 integrations. #### Customer Facing Documentation @@ -88,19 +88,19 @@ Aside from it **_not_** being a best practice to ask your customer to register y Instead, develop your integration following the Register once model, and hand off your integration Identifier to your customer. If you are an LTI 1.3 provider - you are done. Your customer adds your LTI integration and sets availability to their users and they are done. No passing around of Keys and Secrets or error prone multiple copy pasting of multiple configuration strings... you hand off one integration Id which you get when you register your integration on the portal and done. -Well almost... the current exception (see The Future is Bright(er) below) is if your integration uses our REST APIs. Then your integration documentation must provide Anthology administrators with a list of privileges that need to be added to the user which is associated with your integration. The APIs list entitlements, not privileges, and therein lay a problem for Customers. +Well almost... the current exception (see The Future is Bright(er) below) is if your integration uses our REST APIs. Then your integration documentation must provide Blackboard administrators with a list of privileges that need to be added to the user which is associated with your integration. The APIs list entitlements, not privileges, and therein lay a problem for Customers. -As the integration provider you want a great customer experience so you use the bookmarklet tool to determine the privileges you include in your documentation to provide guidance to admins installing your integration. +As the integration provider you want a great customer experience so you use the bookmarklet tool to determine the privileges you include in your documentation to provide guidance to admins installing your integration. ## Integration Support ### Who is responsible for your integration's support? -It probably goes without saying, but the integration vendor is responsible. Not Anthology. +It probably goes without saying, but the integration vendor is responsible. Not Blackboard. When the vendor registers in the Developer Portal they provide email information which is seen by customers when they install the integration. That is why this email and contact information must be publicly reachable. That is also why it makes sense to have a specific account from which all your integrations are delivered. -See Getting Started with the Dev Portal for information. +See Getting Started with the Dev Portal for information. ## The Future is Bright(er) diff --git a/blog/2024/2024-03-15-bestpractices-emailsupport.md b/blog/2024/2024-03-15-bestpractices-emailsupport.md index 5fb5477dd..bec963f28 100644 --- a/blog/2024/2024-03-15-bestpractices-emailsupport.md +++ b/blog/2024/2024-03-15-bestpractices-emailsupport.md @@ -23,7 +23,7 @@ Below are the recommended best practices to ensure you receive the quickest, mos - 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 + - Example: YourCompanyName-BlackboardLMS: Issue with Launching Textbook Tool - Provide Relevant Information: diff --git a/docs/archive/b2/archive-b2-pages-deprecated.csv b/docs/archive/b2/archive-b2-pages-deprecated.csv new file mode 100644 index 000000000..826457881 --- /dev/null +++ b/docs/archive/b2/archive-b2-pages-deprecated.csv @@ -0,0 +1,17 @@ +url,title,status +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-api_docs,"B2 API Documentation",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-api_overview,"B2s and Java Permissions",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-dev_life_cycle,"Development Life Cycle",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-faqs,"'B2-FAQs'",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-first_steps,"First Steps with learn B2s",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-intro,"Introduction to Building Blocks",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-rosetta_stone,"'Rosetta Stone'",deprecated +https://docs.blackboard.com/docs/archive/b2/getting-started/archive-b2-gs-starter_b2,"Starter Building Block Readme",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-enable_remote_debug,"Enabling Remote Debugging",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-first_project_gradle,"'First Project: Gradle, Git and b2-starter-template'",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-java_11,"Java 11 for Learn: FAQ",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-prepare_for_java_11,"8 Steps to prepare for Java 11",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-prep_learn_q2,"Preparing Your B2 for Blackboard Learn 9.1 Q2 2016",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-moving_to_saas,"Preparing Your Building Blocks For Learn SaaS and Newer Learn Versions",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-scan_tool,"Scan tool for Learn SaaS",deprecated +https://docs.blackboard.com/docs/archive/b2/resources/archive-b2-resources-useful_links,"'Useful Links'",deprecated diff --git a/docs/archive/b2/getting-started/api-documentation.md b/docs/archive/b2/getting-started/api-documentation.md index 5e1309498..7b5fbc62e 100644 --- a/docs/archive/b2/getting-started/api-documentation.md +++ b/docs/archive/b2/getting-started/api-documentation.md @@ -31,7 +31,7 @@ Blackboard](https:///blackboard.secure.force.com/) on the Download Files page for each release. If an API is not shown in the publicly available documentation, it is not a -public API. Anthology does not support its use and we do not guarantee any +public API. Blackboard does not support its use and we do not guarantee any kind of ongoing maintenance or compatibility. Use unsupported APIs at your own risk. diff --git a/docs/archive/old-ami-files/configure-the-ami.md b/docs/archive/old-ami-files/configure-the-ami.md index 76c2d2d3f..190b5fa25 100644 --- a/docs/archive/old-ami-files/configure-the-ami.md +++ b/docs/archive/old-ami-files/configure-the-ami.md @@ -143,7 +143,7 @@ When you stop and start an existing EC2 instance, AWS resets the public domain n ```yaml title=my_ssl_config ssldomain: devmen.hopto.org -sslemail: developers@anthology.com +sslemail: developers@blackboard.com ``` 4. Once the file is created, reboot the instance by executing the following command through the SSH session: @@ -154,7 +154,7 @@ sudo reboot now :::note Disclaimer -\* Anthology Inc does not endorse or recommend specific DNS providers such as NoIp.com for usage. These are mentioned for their free options but any service can be used to map DNS entries +\* Blackboard Inc does not endorse or recommend specific DNS providers such as NoIp.com for usage. These are mentioned for their free options but any service can be used to map DNS entries ::: ### Create the Let's Encrypt certificate @@ -198,7 +198,7 @@ Not stopping your EC2 when you encounter an error or completed your development ::: -If you have any questions, feel free to ask in this space or email us at developers@anthology.com. +If you have any questions, feel free to ask in this space or email us at developers@blackboard.com. ## Migration Cookbook - Recreating Data between AMIs @@ -227,7 +227,7 @@ When receiving this error there are two root causes: 1. The server hasn't properly started and the router is still spooling up. Give it 5 to 10 minutes and try again, if the issue persits follow to the next step 2. Incorrect configuration for the VPC. Please verify that the third step of the configuration under [Use the Blackboard REST and LTI Developer AM](/docs/blackboard/sandbox-envs/developer-ami#use-the-blackboard-rest-and-lti-developer-ami) was followed and DNS hostnames is set to **Yes** -if the issue persists, please create a ticket through our Anthology Support Portal or send an email to [developers@anthology.com](mailto:developers@anthology.com) +if the issue persists, please create a ticket through our Blackboard Support Portal or send an email to [developers@blackboard.com](mailto:developers@blackboard.com) ### CVE from AVG Antivirus diff --git a/docs/blackboard/caliper/getting-started-with-caliper.md b/docs/blackboard/caliper/getting-started-with-caliper.md index e5609891c..0f6529eae 100644 --- a/docs/blackboard/caliper/getting-started-with-caliper.md +++ b/docs/blackboard/caliper/getting-started-with-caliper.md @@ -28,5 +28,5 @@ For more information on Kaltura integrations, visit the Kaltura web site [here]( From a Developer standpoint, Caliper is available in two ways: sending events to the Learn Activity Stream, and subscribing to the Learn Activity Stream as an additional Event Store. This section of the -Anthology standards Developer Community will dive into both of these options, +Blackboard standards Developer Community will dive into both of these options, with sample code and supporting documentation. diff --git a/docs/blackboard/caliper/metric-profiles.md b/docs/blackboard/caliper/metric-profiles.md index bfde60a94..e48a3b242 100644 --- a/docs/blackboard/caliper/metric-profiles.md +++ b/docs/blackboard/caliper/metric-profiles.md @@ -40,7 +40,7 @@ Learn supports the following defined metric profiles: - Grade The specification defines a number of tool-specific profiles as well. An -example of this is the MediaEvent, which Anthology worked closely with +example of this is the MediaEvent, which Blackboard worked closely with Kaltura to implement in the context of the Kaltura LTI integration. ## JSON Syntax diff --git a/docs/blackboard/lti/1.3/01-register-an-application.md b/docs/blackboard/lti/1.3/01-register-an-application.md index 9fb8279de..c8c8aed1f 100644 --- a/docs/blackboard/lti/1.3/01-register-an-application.md +++ b/docs/blackboard/lti/1.3/01-register-an-application.md @@ -6,14 +6,14 @@ edited: '' author: Scott Hurrey --- -In this section, we cover how you register your application with Anthology and deploy it to a Learn instance. Registration and deployment are not covered in the specification provided by 1EdTech, and each LMS vendor handles it slightly differently. +In this section, we cover how you register your application with Blackboard and deploy it to a Learn instance. Registration and deployment are not covered in the specification provided by 1EdTech, and each LMS vendor handles it slightly differently. -## Anthology Developer Portal +## Blackboard Developer Portal -The first thing to understand about registering your application is that Anthology has you register your tool **ONCE** with our developer portal here [https://developer.anthology.com](https://developer.anthology.com). This is a central, self-service application, running in AWS where you enter information about your application, and are given the values you need for your application to work with LTI Advantage and Learn. It is also the same place you get the ID, key, and secret if you are going to use our public REST API. +The first thing to understand about registering your application is that Blackboard has you register your tool **ONCE** with our developer portal here [https://developer.blackboard.com](https://developer.blackboard.com). This is a central, self-service application, running in AWS where you enter information about your application, and are given the values you need for your application to work with LTI Advantage and Learn. It is also the same place you get the ID, key, and secret if you are going to use our public REST API. :::caution -Do not ask institutions to register your tool with the Anthology Developer Portal. You register it **ONCE** with Anthology, and institutions can deploy it with the Client ID you give them. They will receive a Deployment ID, which they will exchange with you to set up the account. It is the deployment ID, in conjunction with the client ID and issuer, that uniquely identifies the business agreement between the tool vendor and the institution. +Do not ask institutions to register your tool with the Blackboard Developer Portal. You register it **ONCE** with Blackboard, and institutions can deploy it with the Client ID you give them. They will receive a Deployment ID, which they will exchange with you to set up the account. It is the deployment ID, in conjunction with the client ID and issuer, that uniquely identifies the business agreement between the tool vendor and the institution. ::: ### Information you Provide @@ -33,7 +33,7 @@ The LTI 1.3 spec defines the information you must provide to a Platform (LMS) su 3. **Tool JWKS URL** - This is the URL for your public key with which Learn validates that the messages it receives (such as Deep Linking, Names & Roles, Assignment & Grades) are from your application. It must adhere to the JWKS specification. 4. **Signing Algorithm** - - Anthology currently supports RS256 and RS512. We can support more as we are requested to do so. + - Blackboard currently supports RS256 and RS512. We can support more as we are requested to do so. #### Custom Parameters diff --git a/docs/blackboard/lti/1.3/02-best-practices.md b/docs/blackboard/lti/1.3/02-best-practices.md index 459ef9edd..8248e4019 100644 --- a/docs/blackboard/lti/1.3/02-best-practices.md +++ b/docs/blackboard/lti/1.3/02-best-practices.md @@ -10,11 +10,11 @@ author: Mark Kauffman, Scott Hurrey ### tl;dr -For LTI 1.3 only integrations, the best client experience is given by a vendor when the vendor registers on the Anthology central registration portal and shares the client_id with the client. There are other processes that involve the vendor asking the client to register the LTI-1.3-only integration. While not ideal, that’s OK, as long as the integration is not using the associated REST API key/secret. +For LTI 1.3 only integrations, the best client experience is given by a vendor when the vendor registers on the Blackboard central registration portal and shares the client_id with the client. There are other processes that involve the vendor asking the client to register the LTI-1.3-only integration. While not ideal, that’s OK, as long as the integration is not using the associated REST API key/secret. ### Motivation -At Anthology, we want our clients to have the best possible experience with Learn and the products that are integrated with it. To that end, we developed a central registration service on our developer portal for use by 3rd-party vendors that are LTI 1.3 Tool providers. Using the central registration service, the Tool provider can go through the complexities of Tool registration and get a Client ID. That Client ID is all our mutual clients need to deploy a Tool. When the Tool is deployed, a Deployment ID is generated that the client then provides to the Tool vendor. The Client ID and Deployment ID are included in all LTI 1.3 communication, giving the Tool everything needed to identify the client's LMS. +At Blackboard, we want our clients to have the best possible experience with Learn and the products that are integrated with it. To that end, we developed a central registration service on our developer portal for use by 3rd-party vendors that are LTI 1.3 Tool providers. Using the central registration service, the Tool provider can go through the complexities of Tool registration and get a Client ID. That Client ID is all our mutual clients need to deploy a Tool. When the Tool is deployed, a Deployment ID is generated that the client then provides to the Tool vendor. The Client ID and Deployment ID are included in all LTI 1.3 communication, giving the Tool everything needed to identify the client's LMS. ### Why Vendor Tool-registration Is Best diff --git a/docs/blackboard/lti/1.3/core/06-jwt-sample.md b/docs/blackboard/lti/1.3/core/06-jwt-sample.md index 2b935d99d..8129bb5a5 100644 --- a/docs/blackboard/lti/1.3/core/06-jwt-sample.md +++ b/docs/blackboard/lti/1.3/core/06-jwt-sample.md @@ -80,7 +80,7 @@ Please keep in mind that this information can change. Always review the Core LTI }, "https://purl.imsglobal.org/spec/lti/claim/resource_link": { "id": "_44_1", - "title": "Anthology Tool - Course Content Tool" + "title": "Blackboard Tool - Course Content Tool" }, "https://purl.imsglobal.org/spec/lti-gs/claim/groupsservice": { "context_groups_url": "https://learn.blackboard.com/learn/api/v1/lti/courses/_4_1/groups", diff --git a/docs/blackboard/lti/1.3/lti-subsystems/ags/02-working-with-columns.md b/docs/blackboard/lti/1.3/lti-subsystems/ags/02-working-with-columns.md index 7a72c7640..f1f5e63d9 100644 --- a/docs/blackboard/lti/1.3/lti-subsystems/ags/02-working-with-columns.md +++ b/docs/blackboard/lti/1.3/lti-subsystems/ags/02-working-with-columns.md @@ -51,7 +51,7 @@ When performing a `GET` request to the endpoint mentioned above, the system will { "id": "https://partner-test3.blackboard.com/learn/api/v1/lti/courses/_220_1/lineItems/_1397_1", "scoreMaximum": 100, - "label": "Anthology Tool - Course Content Tool", + "label": "Blackboard Tool - Course Content Tool", "resourceLinkId": "_3712_1", "endDateTime": "2024-10-11T04:59:59.999Z", "gradesReleased": true @@ -59,7 +59,7 @@ When performing a `GET` request to the endpoint mentioned above, the system will { "id": "https://partner-test3.blackboard.com/learn/api/v1/lti/courses/_220_1/lineItems/_1398_1", "scoreMaximum": 100, - "label": "Anthology Tool - Course Content Tool", + "label": "Blackboard Tool - Course Content Tool", "resourceLinkId": "_3713_1", "endDateTime": "2024-10-11T04:59:59.999Z", "gradesReleased": true @@ -114,7 +114,7 @@ The response will look like this: { "id": "https://{learn_domain}/learn/api/v1/lti/courses/_220_1/lineItems/_1398_1", "scoreMaximum": 100, - "label": "Anthology Tool - Course Content Tool", + "label": "Blackboard Tool - Course Content Tool", "resourceLinkId": "_3713_1", "endDateTime": "2024-10-11T04:59:59.999Z", "gradesReleased": true diff --git a/docs/blackboard/lti/1.3/tutorials/py-lti-1p3.md b/docs/blackboard/lti/1.3/tutorials/py-lti-1p3.md index a9a56bcd7..88836d461 100644 --- a/docs/blackboard/lti/1.3/tutorials/py-lti-1p3.md +++ b/docs/blackboard/lti/1.3/tutorials/py-lti-1p3.md @@ -26,7 +26,7 @@ and type `git clone https://github.com/dmitry-viskov/pylti1.3-flask-example.git` #### Developer Portal -Now that we have the project cloned locally, we need to register the application for use with Learn. We do this via the [developer portal](https://developer.anthology.com). +Now that we have the project cloned locally, we need to register the application for use with Learn. We do this via the [developer portal](https://developer.blackboard.com). For more information on this process, check out this [document](/docs/developer-portal/dev-portal-start-here.md). Once you have an account set up, you can simply register a new application. You will be prompted to enter several pieces of information. For this project, here is what we need to enter: @@ -72,9 +72,9 @@ In `game.json`, you will already see a section for Blackboard. It will look like ```json "https://blackboard.com": { "client_id": "your client id", - "auth_login_url": "https://developer.anthology.com/api/v1/gateway/oidcauth", - "auth_token_url": "https://developer.anthology.com/api/v1/gateway/oauth2/jwttoken", - "key_set_url": "https://developer.anthology.com/api/v1/management/applications//jwks.json", + "auth_login_url": "https://developer.blackboard.com/api/v1/gateway/oidcauth", + "auth_token_url": "https://developer.blackboard.com/api/v1/gateway/oauth2/jwttoken", + "key_set_url": "https://developer.blackboard.com/api/v1/management/applications//jwks.json", "key_set": null, "private_key_file": "private.key", "deployment_ids": ["your deployment id"] diff --git a/docs/blackboard/rest-apis/advanced/[review]merge-and-crosslist-courses.md b/docs/blackboard/rest-apis/advanced/[review]merge-and-crosslist-courses.md index 9088e4c5c..0266fb18e 100644 --- a/docs/blackboard/rest-apis/advanced/[review]merge-and-crosslist-courses.md +++ b/docs/blackboard/rest-apis/advanced/[review]merge-and-crosslist-courses.md @@ -35,7 +35,7 @@ Users with administrative entitlements can merge courses. You need an authentication token from a user with administrative entitlements to merge courses. For a complete list of specific requirements for any particular method, see the [Learn API -reference](https://developer.anthology.com/portal/displayApi/Learn). +reference](https://developer.blackboard.com/portal/displayApi/Learn). ### Merge a course diff --git a/docs/blackboard/rest-apis/advanced/bbml.md b/docs/blackboard/rest-apis/advanced/bbml.md index ebed31c1e..b1a50a929 100644 --- a/docs/blackboard/rest-apis/advanced/bbml.md +++ b/docs/blackboard/rest-apis/advanced/bbml.md @@ -11,7 +11,7 @@ author: Scott Hurrey BbML is a subset of HTML. The parameters of some methods accept BbML-formatted text. For more information about particular Learn REST endpoints, see the -[REST API documentation](https://developer.anthology.com/portal/displayApi) +[REST API documentation](https://developer.blackboard.com/portal/displayApi) ### BbML specification - version 1 @@ -218,7 +218,7 @@ It would render as follows in Ultra UI: When creating content using the Learn Public REST API, it is expected that any related file content be uploaded prior to creation. Uploading files can be done using the upload file endpoint documented at -https://developer.anthology.com/portal/displayApi +https://developer.blackboard.com/portal/displayApi Once a file has been uploaded, the upload file endpoint will have provided an Id which will be used to reference the associated file. diff --git a/docs/blackboard/rest-apis/advanced/dynamic-rendering-with-template-variables.md b/docs/blackboard/rest-apis/advanced/dynamic-rendering-with-template-variables.md index 49f57eaa9..01d1035f2 100644 --- a/docs/blackboard/rest-apis/advanced/dynamic-rendering-with-template-variables.md +++ b/docs/blackboard/rest-apis/advanced/dynamic-rendering-with-template-variables.md @@ -24,12 +24,12 @@ Template variables are represented by a series of values given the special synta | User system role(s) | `@X@user.role@X@` | System Roles:
  • `C` - Course Administrator
  • `U`- Guest
  • `N` - None
  • `O` - Observer
  • `Y` - Community Administrator
  • `R` - Support
  • `Z`- System Admin
  • `H` - System Support
  • `A` - User Administrator
| | User primary institution role | `@X@user.institution_role@X@`
`@X@user.primary_institution_role@X@` | student | | User secondary institution role(s) | `@X@user.secondary_institution_role@X@` | student,faculty | -| User company (as of 3900.34) | `@X@user.company@X@` | Anthology | -| User institution email (as of 3900.34) | `@X@user.email.institution_email@X@` | john.smith@anthology.com | +| User company (as of 3900.34) | `@X@user.company@X@` | Blackboard | +| User institution email (as of 3900.34) | `@X@user.email.institution_email@X@` | john.smith@blackboard.com | | User other name (as of 3900.34) | `@X@user.name.other@X@` | Johnie | | User title (as of 3900.34) | `@X@user.name.title@X@` | Dr. | | User mobile phone (as of 3900.34) | `@X@user.mobile_phone@X@` | 0-123-456-7890 | -| User website (as of 3900.34) | `@X@user.website@X@` | https://smithjohn.anthology.com | +| User website (as of 3900.34) | `@X@user.website@X@` | https://smithjohn.blackboard.com | | Course membership role | `@X@membership.role@X@` | Course/Organization Roles:
  • `B` - Course Builder/Organization Builder
  • `G` - Grader/Grader
  • `U` - Guest/Guest
  • `P` - Instructor/Leader
  • `S` - Student/Participant
  • `T` - Teacher's Assistant/Assistant
| | Course external course key | `@X@course.batch_uid@X@` | ABC123ABC | | Course course id | `@X@course.id@X@` | BIO101 | diff --git a/docs/blackboard/rest-apis/advanced/soap-to-rest-mapping.md b/docs/blackboard/rest-apis/advanced/soap-to-rest-mapping.md index 9fbfdb3ec..52b845320 100644 --- a/docs/blackboard/rest-apis/advanced/soap-to-rest-mapping.md +++ b/docs/blackboard/rest-apis/advanced/soap-to-rest-mapping.md @@ -18,7 +18,7 @@ the last few remaining gaps in functionality are closed. New REST APIs are rolled out in new versions of Learn, but never back-ported to previous releases. To be sure the endpoint you require is available, be sure to visit the [Developer -Portal](https://developer.anthology.com/portal/displayApi) +Portal](https://developer.blackboard.com/portal/displayApi) and check the individual endpoints you need. ## Announcements diff --git a/docs/blackboard/rest-apis/apis-intro.md b/docs/blackboard/rest-apis/apis-intro.md index ec60197d2..221304042 100644 --- a/docs/blackboard/rest-apis/apis-intro.md +++ b/docs/blackboard/rest-apis/apis-intro.md @@ -1,5 +1,5 @@ --- -title: "About Anthology REST APIs" +title: "About Blackboard REST APIs" id: start-here sidebar_position: 1 author: Mark O'Neil, Dan Magers @@ -7,17 +7,17 @@ published: "" edited: "" --- -Welcome to Anthology's REST API documentation. Many Anthology products offer integration capabilities through REST APIs. REST APIs provide a simple and effective way to deliver data and services over the web, making them an important fool for modern software development. +Welcome to Blackboard's REST API documentation. Many Blackboard products offer integration capabilities through REST APIs. REST APIs provide a simple and effective way to deliver data and services over the web, making them an important fool for modern software development. -Anthology provides comprehensive REST API documentation describing the various endpoints, request and response formats, and authentication methods available. The documentation on this site includes examples and code snippets to help you get started with using the REST APIs in your integrations. Anthology also offers a sandbox for users without a Blackboard Learn instance and a GitHub repository containing useful application code. +Blackboard provides comprehensive REST API documentation describing the various endpoints, request and response formats, and authentication methods available. The documentation on this site includes examples and code snippets to help you get started with using the REST APIs in your integrations. Blackboard also offers a sandbox for users without a Blackboard Learn instance and a GitHub repository containing useful application code. ## REST APIs REST APIs (REpresentational State Transfer Application Programming Interface) are a type of web service API that follow a set of architectural principles, known as the REST architecture. These APIs use HTTP verbs - GET, POST, PUT, DELETE - to access and manipulate resources, such as data or files, on a server. -Anthology has a long history of integration development support, going back the Blackboard Learn LMS's (Learning Management System) released in 1997. Integrations started with Java™ Building Blocks and continued with SOAP Web Services and Learning Tools Interoperability (LTI). Blackboard added REST APIs to our integrations in 2016. +Blackboard has a long history of integration development support, going back the Blackboard Learn LMS's (Learning Management System) released in 1997. Integrations started with Java™ Building Blocks and continued with SOAP Web Services and Learning Tools Interoperability (LTI). Blackboard added REST APIs to our integrations in 2016. -REST APIs have become the most common type of web service API, used by many companies and applications to enable communication between different systems or applications. Anthology considers REST APIs to be the future of integration development. +REST APIs have become the most common type of web service API, used by many companies and applications to enable communication between different systems or applications. Blackboard considers REST APIs to be the future of integration development. ## The importance of REST APIs @@ -35,9 +35,9 @@ Overall, REST APIs provide a simple and effective way to expose data and service ## A note about third-party application support -If you are an Anthology client, an Anthology Partner / Vendor / Developer of a REST Application should NEVER tell you to go to the developer portal and create an App ID with the associated key/secret to install their application. They should never tell you to apply for a Rate/Site increase for their application. Anthology DOES NOT support that model. Every REST Application developer should give you an App ID to install their REST App and tell you how to configure a system role for its use. The REST Application developer needs to request the increases they need to run their application themselves. If they ask you to go to developer.anthology.com and get an App ID/Key/Secret, please tell them that is wrong. They should have one App ID for their production REST application that they are asking you to install. +If you are an Blackboard client, an Blackboard Partner / Vendor / Developer of a REST Application should NEVER tell you to go to the developer portal and create an App ID with the associated key/secret to install their application. They should never tell you to apply for a Rate/Site increase for their application. Blackboard DOES NOT support that model. Every REST Application developer should give you an App ID to install their REST App and tell you how to configure a system role for its use. The REST Application developer needs to request the increases they need to run their application themselves. If they ask you to go to developer.blackboard.com and get an App ID/Key/Secret, please tell them that is wrong. They should have one App ID for their production REST application that they are asking you to install. -Contractors are an exception to this policy as they are producing an integration on your, the Anthology client, behalf. Questions regarding the policy and whether you are impacted may be asked here, or posted to developers@anthology.com +Contractors are an exception to this policy as they are producing an integration on your, the Blackboard client, behalf. Questions regarding the policy and whether you are impacted may be asked here, or posted to developers@blackboard.com ## Glossary diff --git a/docs/blackboard/rest-apis/best-practices.md b/docs/blackboard/rest-apis/best-practices.md index 84cc1ca41..88570f120 100644 --- a/docs/blackboard/rest-apis/best-practices.md +++ b/docs/blackboard/rest-apis/best-practices.md @@ -17,7 +17,7 @@ Pay attention to the following to avoid failure points as a developer working wi - Always monitor your API usage using the x-header information returned on non-oauth requests - - Details on rate_limits and x-headers are available [here](https://docs.anthology.com/docs/developer-portal/production-groups-rest-api-and-site-registration-limits#rest-api-calls-limit). + - Details on rate_limits and x-headers are available [here](https://docs.blackboard.com/docs/developer-portal/production-groups-rest-api-and-site-registration-limits#rest-api-calls-limit). - Not all data operations are best done Just-In-Time (JIT). Some operations, such as backfilling data warehouses or refreshing caches are best done during off-peak Learn hours. diff --git a/docs/blackboard/rest-apis/demo-code/accessing-content-attachments-with-cURL.md b/docs/blackboard/rest-apis/demo-code/accessing-content-attachments-with-cURL.md index 8080eb024..9ded69451 100644 --- a/docs/blackboard/rest-apis/demo-code/accessing-content-attachments-with-cURL.md +++ b/docs/blackboard/rest-apis/demo-code/accessing-content-attachments-with-cURL.md @@ -495,4 +495,4 @@ Rinse-repeat for additional folder or document content items. ## Uploading files to content -You can do so by following this guide: https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml#uploaded-files ![image](https://user-images.githubusercontent.com/2322778/158894421-3eaf4125-ff17-4bff-8a1f-55d10101e30e.png) +You can do so by following this guide: https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml#uploaded-files ![image](https://user-images.githubusercontent.com/2322778/158894421-3eaf4125-ff17-4bff-8a1f-55d10101e30e.png) diff --git a/docs/blackboard/rest-apis/demo-code/curl.md b/docs/blackboard/rest-apis/demo-code/curl.md index d1be70947..e3e1fdf64 100644 --- a/docs/blackboard/rest-apis/demo-code/curl.md +++ b/docs/blackboard/rest-apis/demo-code/curl.md @@ -333,7 +333,7 @@ https://localhost:9877/learn/api/public/v1/users ``` Remember, you can always find the JSON specification for these calls at -[Explore APIs](https://developer.anthology.com/portal/displayApi) +[Explore APIs](https://developer.blackboard.com/portal/displayApi) Example: @@ -368,7 +368,7 @@ curl -k -X POST -H "Authorization: Bearer ti3EVMVQO4RqdAgcpmODZdvjvHuuBHDz" -H By sheer coincidence this user's ID, '\_7_1', came out to be the same as the DSK ID, '\_7_1'. -Note the availability of query parameters in the [REST Documentation](https://developer.anthology.com/portal/displayApi) +Note the availability of query parameters in the [REST Documentation](https://developer.blackboard.com/portal/displayApi) Examples: @@ -709,11 +709,11 @@ courseId:mbk-rest-contents/contents/_12907_1/children ``` You can, of course, use the id returned in the above to fetch the content item -using the appropriate GET. Read the documentation at developer.anthology.com. +using the appropriate GET. Read the documentation at developer.blackboard.com. ### CREATE ASSIGNMENT WITH ATTACHMENT -**Currently Only Available For Ultra Courses (Remember to check the Learn version for availably of the APIs @ [https://developer.anthology.com](https://developer.anthology.com))** +**Currently Only Available For Ultra Courses (Remember to check the Learn version for availably of the APIs @ [https://developer.blackboard.com](https://developer.blackboard.com))** 1. Get a course's content root. root will only work with the \_abc_xyz ID format. It will not work for `courseId:` format. @@ -766,7 +766,7 @@ temporary location and goes away sometime after being uploaded. Also, there is a bug in the following where if attempts allowed is too large it will fail. I've not experimented to find the limit.) -Reference: [POST /learn/api/public/v1/courses/\{courseId\}/contents/createAssignment](https://developer.anthology.com/portal/displayApi) +Reference: [POST /learn/api/public/v1/courses/\{courseId\}/contents/createAssignment](https://developer.blackboard.com/portal/displayApi) Example: @@ -791,7 +791,7 @@ assignment. Currently Only Available For Presentation-Only Assignments -**(Reference for all APIs used and the Learn version they are available in is @ [https://developer.anthology.com](https://developer.anthology.com))** +**(Reference for all APIs used and the Learn version they are available in is @ [https://developer.blackboard.com](https://developer.blackboard.com))** 1. Use 3LO to get an access code for the student account that will submit the attempt to the assignment. 3LO MUST be used for this process. @@ -923,6 +923,6 @@ And we see the student's submission with the attachment. We hope that the above demonstration gives you a helpful peek under the hood as to what is going on when you make REST calls to a Learn system. You can take these cURL commands and use them to make all of the REST calls documented -here: [Explore APIs](https://developer.anthology.com/portal/displayApi). +here: [Explore APIs](https://developer.blackboard.com/portal/displayApi). - You must [register a developer account and application](/docs/developer-portal/dev-portal-start-here.md) in the Developer Portal diff --git a/docs/blackboard/rest-apis/demo-code/rest-api-with-java-command-line.md b/docs/blackboard/rest-apis/demo-code/rest-api-with-java-command-line.md index d3fcc1610..680e33328 100644 --- a/docs/blackboard/rest-apis/demo-code/rest-api-with-java-command-line.md +++ b/docs/blackboard/rest-apis/demo-code/rest-api-with-java-command-line.md @@ -19,7 +19,7 @@ assumed to be in place: - User has installed and configured [GIT](https://git-scm.com/downloads). - User has cloned the [repository](https://github.com/blackboard/BBDN-DevCon-REST-Workshop) to their local working directory. - User has Java 11 installed and configured to JAVA_HOME. -- User has registered for an account on the [Developer Portal](https://developer.anthology.com/), [registered an application](/rest-apis/learn/Getting Started/registry), obtained the key and secret, and [configured](/rest-apis/learn/Getting Started/registry) the Developer Virtual Machine to accept it.. +- User has registered for an account on the [Developer Portal](https://developer.blackboard.com/), [registered an application](/rest-apis/learn/Getting Started/registry), obtained the key and secret, and [configured](/rest-apis/learn/Getting Started/registry) the Developer Virtual Machine to accept it.. To watch a recording of the corresponding Webinar, click [here](https://us.bbcollab.com/recording/BBAA710721684484425FA10FBA7A1B93). @@ -34,7 +34,7 @@ command line java application with one simple Gradle command -- gradle run. Architecturally, this sample relies on the RestTemplate object offered by the Spring Framework for all REST communication. The method or library you choose for your application is very much a personal preference. Internally at -Anthology, this is the preferred method, and therefore, the method chosen for +Blackboard, this is the preferred method, and therefore, the method chosen for this workshop. The project contains a base 'Hello Developers' application that contains all @@ -84,7 +84,7 @@ UI forms and user input. public final static String USER_PASS = "Bl@ckb0ard!"; public final static String USER_FIRST = "Java"; public final static String USER_LAST = "Restdemo"; - public final static String USER_EMAIL = "developers@anthology.com"; + public final static String USER_EMAIL = "developers@blackboard.com"; } ``` @@ -699,25 +699,25 @@ extrainfo=null] [main] INFO bbdn.rest.services.CourseHandler - Response: <200 OK,Course [id=_7_1, uuid=9ec59f4d3e094cd5b2025858a28a3b39, externalId=BBDN-Java-REST-Demo, dataSourceId=_13_1, courseId=BBDN-Java-REST-Demo, name=Course Used For REST Demo - Java, description=Course Used For REST Demo - Java, created=2016-07-27T19:50:07.376Z, organization=false, ultraStatus=Classic, allowGuests=true, readOnly=false, termId=_7_1, availability=Availability [available=Yes], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:07 GMT], Expires=[Mon, 27 Jul 2015 19:50:07 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=64C50ECFDE762D6C97C5409AB26DF00B; Path=/learn/api], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed, 27 Jul 2016 19:50:07 GMT]}> [main] INFO bbdn.rest.services.CourseHandler - Course: Course [id=_7_1, uuid=9ec59f4d3e094cd5b2025858a28a3b39, externalId=BBDN-Java-REST-Demo, dataSourceId=_13_1, courseId=BBDN-Java-REST-Demo, name=Course Used For REST Demo - Java, description=Course Used For REST Demo - Java, created=2016-07-27T19:50:07.376Z, organization=false, ultraStatus=Classic, allowGuests=true, readOnly=false, termId=_7_1, availability=Availability [available=Yes], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.UserHandler - CREATE -[main] INFO bbdn.rest.services.UserHandler - User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.UserHandler - URI is http://localhost:9876/learn/api/public/v1/users [main] INFO bbdn.rest.services.UserHandler - Request Headers: {Authorization=[Bearer uC5G2HvEsI1DWP24xD2lnaG35EQsenZs], Content-Type=[application/json]} -[main] INFO bbdn.rest.services.UserHandler - Request Body: User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [[email=developers@anthology.com](mailto:email=developers@anthology.com)], status=null, code=null, message=null, developerMessage=null, extrainfo=null] -[main] INFO bbdn.rest.services.UserHandler - Response: <201 Created,User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:07 GMT], Expires=[Mon, 27 Jul 2015 19:50:07 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=679348D067502E72AD1ECAD13B33322E; Path=/learn/api], Location=[/learn/api/public/v1/users/_9_1], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed, 27 Jul 2016 19:50:07 GMT]}> -[main] INFO bbdn.rest.services.UserHandler - User: User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - Request Body: User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [[email=developers@blackboard.com](mailto:email=developers@blackboard.com)], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - Response: <201 Created,User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:07 GMT], Expires=[Mon, 27 Jul 2015 19:50:07 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=679348D067502E72AD1ECAD13B33322E; Path=/learn/api], Location=[/learn/api/public/v1/users/_9_1], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed, 27 Jul 2016 19:50:07 GMT]}> +[main] INFO bbdn.rest.services.UserHandler - User: User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.UserHandler - READ [main] INFO bbdn.rest.services.UserHandler - URI is http://localhost:9876/learn/api/public/v1/users/externalId:bbdnrestdemojavauser [main] INFO bbdn.rest.services.UserHandler - Request Headers: {Authorization=[Bearer uC5G2HvEsI1DWP24xD2lnaG35EQsenZs], Content-Type=[application/json]} [main] INFO bbdn.rest.services.UserHandler - Request Body: User [id=null, uuid=null, externalId=null, dataSourceId=null, userName=null, password=null, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=null, name=null, contact=null, status=null, code=null, message=null, developerMessage=null, extrainfo=null] -[main] INFO bbdn.rest.services.UserHandler - Response: <200 OK,User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:08 GMT], Expires=[Mon, 27 Jul 2015 19:50:08 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=6754BF5FA616BB198CC2118EC1E3F5CB; Path=/learn/api], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed,27 Jul 2016 19:50:07 GMT]}> -[main] INFO bbdn.rest.services.UserHandler - User: User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - Response: <200 OK,User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:08 GMT], Expires=[Mon, 27 Jul 2015 19:50:08 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=6754BF5FA616BB198CC2118EC1E3F5CB; Path=/learn/api], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed,27 Jul 2016 19:50:07 GMT]}> +[main] INFO bbdn.rest.services.UserHandler - User: User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.UserHandler - UPDATE -[main] INFO bbdn.rest.services.UserHandler - User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.UserHandler - URI is http://localhost:9876/learn/api/public/v1/users/externalId:bbdnrestdemojavauser [main] INFO bbdn.rest.services.UserHandler - Request Headers: {Authorization=[Bearer uC5G2HvEsI1DWP24xD2lnaG35EQsenZs], Content-Type=[application/json]} -[main] INFO bbdn.rest.services.UserHandler - Request Body: User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] -[main] INFO bbdn.rest.services.UserHandler - Response: <200 OK,User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:08 GMT], Expires=[Mon, 27 Jul 2015 19:50:08 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=D8AC51CE6341F1C29832F9B9764C1A74; Path=/learn/api], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed, 27 Jul 2016 19:50:08 GMT]}> -[main] INFO bbdn.rest.services.UserHandler - User: User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@anthology.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - Request Body: User [id=null, uuid=null, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=Bl@ckb0ard!, studentId=null, educationLevel=null, gender=null, birthDate=null, created=null, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] +[main] INFO bbdn.rest.services.UserHandler - Response: <200 OK,User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null],{Server=[Apache-Coyote/1.1], P3P=[CP="CAO PSA OUR"], X-Blackboard-appserver=[dev.bbdn.local], X-Blackboard-product=[Learn ™ 3000.1.1-rel.7+a3f61d9], Pragma=[no-cache], Cache-Control=[no-cache, max-age=0, no-store, must-revalidate], Last-Modified=[Sat, 27 Jul 1996 19:50:08 GMT], Expires=[Mon, 27 Jul 2015 19:50:08 GMT], X-Frame-Options=[SAMEORIGIN], Content-Security-Policy=[frame-ancestors 'self'], Set-Cookie=[JSESSIONID=D8AC51CE6341F1C29832F9B9764C1A74; Path=/learn/api], X-Blackboard-Context-Version=[3000.1.1-rel.5+0bc08ab], Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Wed, 27 Jul 2016 19:50:08 GMT]}> +[main] INFO bbdn.rest.services.UserHandler - User: User [id=_9_1, uuid=c55303eaa7d541aab75ebd218d1a6e20, externalId=bbdnrestdemojavauser, dataSourceId=_13_1, userName=restjavauser, password=null, studentId=null, educationLevel=Unknown, gender=Unknown, birthDate=null, created=2016-07-27T19:50:07.970Z, lastLogin=null, availability=Availability [available=Yes], name=Name [given=Java, family=Restdemo], contact=Contact [email=developers@blackboard.com], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.MembershipHandler - CREATE [main] INFO bbdn.rest.services.MembershipHandler - Membership [userId=_9_1, courseId=_7_1, dataSourceId=_13_1, created=null, courseRoleId=Instructor, availability=Availability [available=Yes], status=null, code=null, message=null, developerMessage=null, extrainfo=null] [main] INFO bbdn.rest.services.MembershipHandler - URI is [http://localhost:9876/learn/api/public/v1/courses/externalId:BBDN-Java-REST-Demo/users/externalId:bbdnrestdemojavauser diff --git a/docs/blackboard/rest-apis/demo-code/ruby.md b/docs/blackboard/rest-apis/demo-code/ruby.md index 3a4b8283b..91c3c9e8a 100644 --- a/docs/blackboard/rest-apis/demo-code/ruby.md +++ b/docs/blackboard/rest-apis/demo-code/ruby.md @@ -310,7 +310,7 @@ RestClient.post($DSK_PATH, payload, :content_type => :json, :accept => :json, :A **Create** ```ruby - payload = "{ \\"externalId\\" : \\"bbdnrestdemorubyuser\\", \\"userName\\" : \\"restrubyuser\\", \\"password\\" : \\"Bl@ckb0ard!\\", \\"studentId\\" : \\"restrubyuser\\", \\"dataSourceId\\" : \\"" + $dsk_id + "\\", \\"name\\" : { \\"given\\" : \\"Ruby\\", \\"family\\" : \\"Rest Demo\\" }, \\"contact\\" : { \\"email\\" : \\"developers@anthology.com\\" }, \\"availability\\" : { \\"available\\" : \\"Yes\\" } }" + payload = "{ \\"externalId\\" : \\"bbdnrestdemorubyuser\\", \\"userName\\" : \\"restrubyuser\\", \\"password\\" : \\"Bl@ckb0ard!\\", \\"studentId\\" : \\"restrubyuser\\", \\"dataSourceId\\" : \\"" + $dsk_id + "\\", \\"name\\" : { \\"given\\" : \\"Ruby\\", \\"family\\" : \\"Rest Demo\\" }, \\"contact\\" : { \\"email\\" : \\"developers@blackboard.com\\" }, \\"availability\\" : { \\"available\\" : \\"Yes\\" } }"         RestClient.post($USER_PATH, payload, :content_type => :json, :accept => :json, :Authorization => $auth){ |response, request, result, &block|       case response.code @@ -343,7 +343,7 @@ RestClient.post($DSK_PATH, payload, :content_type => :json, :accept => :json, :A **Update** ```ruby - payload = "{ \\"externalId\\" : \\"bbdnrestdemorubyuser\\", \\"userName\\" : \\"restrubyuser\\", \\"password\\" : \\"Bl@ckb0ard!\\", \\"studentId\\" : \\"restrubyuser\\", \\"dataSourceId\\" : \\"" + $dsk_id + "\\", \\"name\\" : { \\"given\\" : \\"Ruby\\", \\"family\\" : \\"Rest Demo\\", \\"middle\\" : \\"updated\\" }, \\"contact\\" : { \\"email\\" : \\"developers@anthology.com\\" }, \\"availability\\" : { \\"available\\" : \\"Yes\\" } }" + payload = "{ \\"externalId\\" : \\"bbdnrestdemorubyuser\\", \\"userName\\" : \\"restrubyuser\\", \\"password\\" : \\"Bl@ckb0ard!\\", \\"studentId\\" : \\"restrubyuser\\", \\"dataSourceId\\" : \\"" + $dsk_id + "\\", \\"name\\" : { \\"given\\" : \\"Ruby\\", \\"family\\" : \\"Rest Demo\\", \\"middle\\" : \\"updated\\" }, \\"contact\\" : { \\"email\\" : \\"developers@blackboard.com\\" }, \\"availability\\" : { \\"available\\" : \\"Yes\\" } }"         RestClient.patch($USER_PATH + $user_id, payload, :content_type => :json, :accept => :json, :Authorization => $auth){ |response, request, result, &block|       case response.code diff --git a/docs/blackboard/rest-apis/getting-started/basic-authentication.md b/docs/blackboard/rest-apis/getting-started/basic-authentication.md index be6db8635..ded0db68c 100644 --- a/docs/blackboard/rest-apis/getting-started/basic-authentication.md +++ b/docs/blackboard/rest-apis/getting-started/basic-authentication.md @@ -10,7 +10,7 @@ edited: "" ### Overview -Authentication for REST Integrations follows the [OAuth 2.0 RFC Standard](https://tools.ietf.org/html/rfc6749). Each developer has a unique key and secret associated with each application they create. The developer makes an HTTP Post directly to the REST-enabled Learn server requesting an OAuth access token. The Learn instance forwards the request to Anthology's Developer Portal, adding its own siteId to the request so that the portal can determine whether the application is registered with the server. The Portal returns an authorization token that grants the application access to the Learn REST API for one hour. The developer uses this token in subsequent REST calls until the token expires. This workflow is illustrated in the following diagram: +Authentication for REST Integrations follows the [OAuth 2.0 RFC Standard](https://tools.ietf.org/html/rfc6749). Each developer has a unique key and secret associated with each application they create. The developer makes an HTTP Post directly to the REST-enabled Learn server requesting an OAuth access token. The Learn instance forwards the request to Blackboard's Developer Portal, adding its own siteId to the request so that the portal can determine whether the application is registered with the server. The Portal returns an authorization token that grants the application access to the Learn REST API for one hour. The developer uses this token in subsequent REST calls until the token expires. This workflow is illustrated in the following diagram: ![OAuth Workflow Diagram](/assets/img/basic-auth-learn.png) @@ -21,15 +21,15 @@ REST calls are subject to quotas and limits. For more information, see ### Before You Start -- You must have a developer account at [developer.anthology.com](https://developer.anthology.com/). -- Your application must be registered at [developer.anthology.com](https://developer.anthology.com/). -- The application ID you receive when registering at developer.anthology.com must then be used to install your integgration on your Learn instance. Installing your application on a Learn instance provides the application key:secret pair access to the Learn instance. +- You must have a developer account at [developer.blackboard.com](https://developer.blackboard.com/). +- Your application must be registered at [developer.blackboard.com](https://developer.blackboard.com/). +- The application ID you receive when registering at developer.blackboard.com must then be used to install your integgration on your Learn instance. Installing your application on a Learn instance provides the application key:secret pair access to the Learn instance. ### To Get a Token Using Basic OAuth 2.0 Use the following high-level steps to fetch a token from your Learn instance. Remember that your Learn instance must be registered at -developer.anthology.com and that your application must be registered on your +developer.blackboard.com and that your application must be registered on your Learn instance. Registering your application with your Learn instance provides you with an application key and secret. @@ -79,7 +79,7 @@ authorize other REST calls. Use cURL or an appropriate HTTP library to make a REST call to the appropriate endpoint. For a list of endpoints and the methods supported for each, see the -Learn REST reference docs at https://developer.anthology.com/portal/displayApi/Learn. +Learn REST reference docs at https://developer.blackboard.com/portal/displayApi/Learn. **Headers must include:** @@ -140,4 +140,4 @@ you. - Tokens expire after 1 hour, as per the OAuth RFC examples. - Tokens are associated with a specific Learn site. - Any application may have only one token per Learn site. Asking for a token returns the existing one with an updated expiry time if it has not expired yet. -- Check the [Learn REST API Documentation](https://developer.anthology.com/portal/displayApi/Learn) for error codes. +- Check the [Blackboard LMS REST API Documentation](https://developer.blackboard.com/portal/displayApi/Learn) for error codes. diff --git a/docs/blackboard/rest-apis/getting-started/first-steps.md b/docs/blackboard/rest-apis/getting-started/first-steps.md index 13c9f3083..a7ed1ace6 100644 --- a/docs/blackboard/rest-apis/getting-started/first-steps.md +++ b/docs/blackboard/rest-apis/getting-started/first-steps.md @@ -8,32 +8,32 @@ published: "" edited: "" --- -Anthology offers a suite of education technology tools, both software and +Blackboard offers a suite of education technology tools, both software and hardware. REST stands for **Re**presentational **S**tate **T**ransfer. It is a lightweight, flexible web service architecture that allows HTTP commands to be sent to Web Applications without unnecessary overhead. We provide specific -examples and tutorials about using Anthology REST APIs, particularly when a +examples and tutorials about using blackboard REST APIs, particularly when a workflow is more complicated. For more general questions about REST and using REST APIs, see any of the numerous tutorials available online. Most commonly used resources include: -- Anthology's [developer portal](/docs/developer-portal/dev-portal-start-here.md) -- Anthology's [Github repos](https://github.com/search?utf8=%E2%9C%93&q=BBDN-REST) +- blackboard's [developer portal](/docs/developer-portal/dev-portal-start-here.md) +- blackboard's [Github repos](https://github.com/search?utf8=%E2%9C%93&q=BBDN-REST) ## Before You Get Started -Anthology offers lots of tools to help you develop an application, plugin, or -other integration for use with Anthology products like Learn and +blackboard offers lots of tools to help you develop an application, plugin, or +other integration for use with blackboard products like Learn and Student. The most important ones are your accounts with these sites: -- **Anthology Developer Portal** is where you register applications so they can work with Anthology products. It's also where you get your own key and secret that you need to authenticate your application with Anthology products. -- **Anthology Developer Community** is where you learn to develop with Anthology products, get the latest news, and discuss with other Anthology integrators. +- **blackboard Developer Portal** is where you register applications so they can work with blackboard products. It's also where you get your own key and secret that you need to authenticate your application with blackboard products. +- **blackboard Developer Community** is where you learn to develop with blackboard products, get the latest news, and discuss with other blackboard integrators. Note that the Developer Portal and Developer Community require separate accounts. -### Register as a Anthology Developer +### Register as a blackboard Developer LTI and REST integrations begin at the Developer Portal. This is where you register LTI and REST Applications and get the ID, key, and secrets for client deployment. In the @@ -41,31 +41,31 @@ portal, you can see which client systems are using the integrations. Signing up is free, and you can develop your integration at no cost. There may be cost involved in deploying your integration, but before that happens, you'll have to speak with us. To discuss deploying your application, please contact us at -[developers@anthology.com](mailto:developers@anthology.com). Before you can -authenticate your project with Anthology applications, you need to be a -registered Anthology developer. To register as a Anthology developer: +[developers@blackboard.com](mailto:developers@blackboard.com). Before you can +authenticate your project with blackboard applications, you need to be a +registered blackboard developer. To register as a blackboard developer: -1. Go to [https://developer.anthology.com/](https://developer.anthology.com/) and select **Sign Up**. Read and agree to the terms and conditions. +1. Go to [https://developer.blackboard.com/](https://developer.blackboard.com/) and select **Sign Up**. Read and agree to the terms and conditions. 2. Provide your email address, a password, your first name and last, and select the checkbox to prove you are human. 3. Select **Create Account** and you're on your way. For more information about the Developer Portal please see [this document](/docs/developer-portal/dev-portal-start-here.md) -**Note:** If you are an Anthology client, an Anthology Partner / Vendor / Developer of a REST Application should NEVER tell you to go to the developer portal and create an App ID with the associated key/secret to install their application. They should never tell you to apply for a Rate/Site increase for their application. Anthology DOES NOT support that model. Every REST Application developer should give you an App ID to install their REST App and tell you how to configure a system role for its use. Period. The REST Application developer needs to request the increases they need to run their application themselves. If they ask you to go to developer.anthology.com and get an App ID/Key/Secret, please tell them that is wrong. They should have exactly one App ID for their production REST application that they are asking you to install. +**Note:** If you are an blackboard client, an blackboard Partner / Vendor / Developer of a REST Application should NEVER tell you to go to the developer portal and create an App ID with the associated key/secret to install their application. They should never tell you to apply for a Rate/Site increase for their application. blackboard DOES NOT support that model. Every REST Application developer should give you an App ID to install their REST App and tell you how to configure a system role for its use. Period. The REST Application developer needs to request the increases they need to run their application themselves. If they ask you to go to developer.blackboard.com and get an App ID/Key/Secret, please tell them that is wrong. They should have exactly one App ID for their production REST application that they are asking you to install. Contractors are an exception to this policy as they are producing an -integration on your, the Anthology client, behalf. Questions regarding the +integration on your, the blackboard client, behalf. Questions regarding the policy and whether you are impacted may be asked here, or posted to -[developers@anthology.com](mailto:developers@anthology.com) +[developers@blackboard.com](mailto:developers@blackboard.com) ### Join the Community -The Anthology developer community is the best place to find more information -about integrating your project with Anthology products. You will benefit from -the community most by joining in.To register in the Anthology developer +The blackboard developer community is the best place to find more information +about integrating your project with blackboard products. You will benefit from +the community most by joining in.To register in the blackboard developer community: -1. Go to [Anthology Developer Community](/docs/developer-portal/dev-portal-start-here.md) and select **Register**. +1. Go to [blackboard Developer Community](/docs/developer-portal/dev-portal-start-here.md) and select **Register**. 2. If your organization is a Blackboard client or partner organization and you have a Behind the Blackboard login, select **Behind the Blackboard Login**. Otherwise, select **Community Site Login**. 3. Enter your email address to receive a link via email. 4. In your email's inbox, find the email sent by Blackboard. You might have to check your spam or junk folder. The email's subject is something like _Blackboard Community: Email Validation_. Select the link in your email. You will be taken to a registration page. @@ -73,8 +73,8 @@ community: #### What Blackboard Application Do I Need? -Your Anthology-compatible application can work with one or more of -Anthology's tools. How you build an integration with Anthology software and +Your blackboard-compatible application can work with one or more of +blackboard's tools. How you build an integration with blackboard software and hardware depends on which tools you want to integrate with. The tools you'll want to use depend on what you want to do. @@ -83,7 +83,7 @@ _I want to programmatically..._ _You'll need to..._ **Add files, text, and the like to Learn** 1. [Authenticate with Learn](basic-authentication.md) via REST API -2. Check out our [Learn REST API reference](https://developer.anthology.com/portal/displayApi) +2. Check out our [Learn REST API reference](https://developer.blackboard.com/portal/displayApi) -#### Get Development Instances of Anthology Applications +#### Get Development Instances of blackboard Applications -Anthology makes available instances of Anthology applications that you can -use to build projects that integrate with Anthology applications. Among +blackboard makes available instances of blackboard applications that you can +use to build projects that integrate with blackboard applications. Among others, we offer these popular developer instances. - [AWS instance of Learn](/docs/blackboard/sandbox-envs/welcome) @@ -112,11 +112,11 @@ others, we offer these popular developer instances. - + ### Developing with Learn @@ -129,7 +129,7 @@ with Learn](basic-authentication.md). ### Look at the Learn REST Reference -Check out the [Learn REST API Reference](https://developer.anthology.com/portal/displayApi/Learn). In particular,look at the range of endpoints available. Check the **Since** version for endpoint that interest you. This version number indicates the version since which the endpoint has been available. This way, you can make sure that your Learn server is is able to use it. +Check out the [Learn REST API Reference](https://developer.blackboard.com/portal/displayApi/Learn). In particular,look at the range of endpoints available. Check the **Since** version for endpoint that interest you. This version number indicates the version since which the endpoint has been available. This way, you can make sure that your Learn server is is able to use it. ### Authentication/Authorization @@ -139,7 +139,7 @@ OAuth](3lo.md). ### Calling Services -Once your application acquires an access token, it only needs to pass that token as a Bearer token in the Authorization header of your API calls. Review the authentication documentation in the above section for an overview, or find more specific details on the available API endpoints and APIs on the Developer Portal's [Swagger API document](https://developer.anthology.com/portal/displayApi).In its current implementation, Learn REST APIs does not support Cross-Origin Resource Sharing (CORS). To learn about this and see an example to workaround this with Angular2, see the blog entitled [Cross-Origin Resource Sharing; or Why I Can't Use AJAX with Learn APIs](https://community.blackboard.com/blogs/4/17). +Once your application acquires an access token, it only needs to pass that token as a Bearer token in the Authorization header of your API calls. Review the authentication documentation in the above section for an overview, or find more specific details on the available API endpoints and APIs on the Developer Portal's [Swagger API document](https://developer.blackboard.com/portal/displayApi).In its current implementation, Learn REST APIs does not support Cross-Origin Resource Sharing (CORS). To learn about this and see an example to workaround this with Angular2, see the blog entitled [Cross-Origin Resource Sharing; or Why I Can't Use AJAX with Learn APIs](https://community.blackboard.com/blogs/4/17). ### Configure an Instance of Learn to Work with Your Application @@ -160,5 +160,5 @@ Once you have registered with the developer portal and built an integration, dep We will continue to add new examples, tutorials, and code samples, so make sure to check these links regularly. -- [Developer Portal](https://developer.anthology.com/) -- [REST Documentation](https://developer.anthology.com/portal/displayApi) +- [Developer Portal](https://developer.blackboard.com/) +- [REST Documentation](https://developer.blackboard.com/portal/displayApi) diff --git a/docs/blackboard/rest-apis/getting-started/framework.md b/docs/blackboard/rest-apis/getting-started/framework.md index ecbb918c3..2b1feeb4f 100644 --- a/docs/blackboard/rest-apis/getting-started/framework.md +++ b/docs/blackboard/rest-apis/getting-started/framework.md @@ -1,5 +1,5 @@ --- -title: "Anthology's REST API Framework" +title: "Blackboard's REST API Framework" id: framework categories: Learn Rest sidebar_position: 3 @@ -8,7 +8,7 @@ published: "" edited: "" --- -Anthology's new REST API Framework is a giant step forward for integrating +Blackboard's new REST API Framework is a giant step forward for integrating with Learn. By moving the integration from in-process code to a separate machine the health of your Learn instance is dramatically improved by lowering complexity and reducing the amount of code running in a @@ -26,7 +26,7 @@ There are three actors in the REST API use case: **_Important Note_**: By default NO integrations are enabled and the Learn server will not allow integrations without a Learn Administrator taking action. -3. **Learn Administrator**: The Developer Portal: This is a new website ([https://developer.anthology.com](https://developer.anthology.com/)) where a developer can browse the REST API documentation, register as a REST Developer, and register application references for integrating with Learn. +3. **Learn Administrator**: The Developer Portal: This is a new website ([https://developer.blackboard.com](https://developer.blackboard.com/)) where a developer can browse the REST API documentation, register as a REST Developer, and register application references for integrating with Learn. The REST API Framework Actors, interactions, and data paths ![RESTDiagram.png](/assets/img/framework-1.png) diff --git a/docs/blackboard/rest-apis/getting-started/lti-or-rest.md b/docs/blackboard/rest-apis/getting-started/lti-or-rest.md index 53fe1d5d9..619a5354f 100644 --- a/docs/blackboard/rest-apis/getting-started/lti-or-rest.md +++ b/docs/blackboard/rest-apis/getting-started/lti-or-rest.md @@ -33,12 +33,12 @@ requests to the LMS. REST stands for **Re**presentational **S**tate **T**ransfer. It is a lightweight, flexible web service architecture that allows HTTP commands to be sent to Web Applications without unnecessary overhead. (REST documentation references HTTP, but to be secure -everything with Learn is done over HTTPS.) Anthology has developed and published -[REST APIs for Learn](https://developer.anthology.com/portal/displayApi). +everything with Learn is done over HTTPS.) Blackboard has developed and published +[REST APIs for Learn](https://developer.blackboard.com/portal/displayApi). ## LTI DISCUSSION -When talking about LTI, we use terms like launch, platform, and tool. A Learn administrator can set up your tool in Learn, following documentation that you provide. Anthology provides documentation applicable to any LTI tool on help.blackboard.com. Rather than reference a link that may change your best bet for finding such documentation is to use your favorite internet search engine and look for "Learn LTI documentation." I just did and the help page for our LTI documentation for admins was the top result! Once your LTI tool has been configured on a Learn system by the admin for that system, course instructors can then place links to your Tool in their courses. Search this site for LTI and you will find demonstrations and tutorials on LTI in Learn. The most common, and likley the best, way for and instructor to place content from your tool in their course is to use Deep-Linking 2.0. The point of this discussion is that once configured by the administrator, use of your tool and the content it provides looks like it is a part of Learn, including when the instructor is selecting content to be 'placed' in the course, and then when the student views and uses that content. And, using the LTI Advantage Names and Roles Provisioning Service (NPRS) and the Assignment and Grades Service (AGS), your tool can integrate closely with the course roster and the gradebook for the course. In summary, you can do a lot with LTI 1.3 & LTI Advantage, where the users of the LMS can use your web-application seamlessly from within the LMS and then with the aforementioned services even manipulate the course roster and gradebook. Get started with [this documentation](../../lti/welcome.md). +When talking about LTI, we use terms like launch, platform, and tool. A Learn administrator can set up your tool in Learn, following documentation that you provide. Blackboard provides documentation applicable to any LTI tool on help.blackboard.com. Rather than reference a link that may change your best bet for finding such documentation is to use your favorite internet search engine and look for "Learn LTI documentation." I just did and the help page for our LTI documentation for admins was the top result! Once your LTI tool has been configured on a Learn system by the admin for that system, course instructors can then place links to your Tool in their courses. Search this site for LTI and you will find demonstrations and tutorials on LTI in Learn. The most common, and likley the best, way for and instructor to place content from your tool in their course is to use Deep-Linking 2.0. The point of this discussion is that once configured by the administrator, use of your tool and the content it provides looks like it is a part of Learn, including when the instructor is selecting content to be 'placed' in the course, and then when the student views and uses that content. And, using the LTI Advantage Names and Roles Provisioning Service (NPRS) and the Assignment and Grades Service (AGS), your tool can integrate closely with the course roster and the gradebook for the course. In summary, you can do a lot with LTI 1.3 & LTI Advantage, where the users of the LMS can use your web-application seamlessly from within the LMS and then with the aforementioned services even manipulate the course roster and gradebook. Get started with [this documentation](../../lti/welcome.md). ## REST DISCUSSION @@ -62,7 +62,7 @@ Now things can get interesting. You might build a pure REST Application, but oft We will continue to add new examples, tutorials, and code samples, so make sure to check these links regularly. -- [Developer Portal](https://developer.anthology.com/) -- [REST Documentation](https://developer.anthology.com/portal/displayApi) +- [Developer Portal](https://developer.blackboard.com/) +- [REST Documentation](https://developer.blackboard.com/portal/displayApi) - [LTI Documentation](https://www.1edtech.org/standards/lti) - [Learn & LTI Documentation](../../lti/welcome.md) diff --git a/docs/blackboard/rest-apis/getting-started/mapping-entitlements-to-privileges.md b/docs/blackboard/rest-apis/getting-started/mapping-entitlements-to-privileges.md index 38877d4a5..006195660 100644 --- a/docs/blackboard/rest-apis/getting-started/mapping-entitlements-to-privileges.md +++ b/docs/blackboard/rest-apis/getting-started/mapping-entitlements-to-privileges.md @@ -23,7 +23,7 @@ Well look no further because we will explain to you how to match them! 1. **We talk about entitlements when we talk about actions an application can perform** - An entitlement looks like this: course.attendance.VIEW -- You can find them in https://developer.anthology.com/portal/displayApi +- You can find them in https://developer.blackboard.com/portal/displayApi - They are usually displayed when you expand an endpoint 2. **We talk about privileges when we talk about actions an user can perform** @@ -36,7 +36,7 @@ Well look no further because we will explain to you how to match them! ## What do you need? 1. You need to know how to create a _custom_ System Role: [How to create a System role](https://help.blackboard.com/Learn/Administrator/SaaS/User_Management/Roles_and_Privileges/System_Roles) -2. You need to know which api endpoints you will be using: [Learn API endpoints](https://developer.anthology.com/portal/displayApi) +2. You need to know which api endpoints you will be using: [Learn API endpoints](https://developer.blackboard.com/portal/displayApi) 3. You need to review, based on the endpoints you will be using, the entilements that you need. Remember that each entitlement is described when opening an endpoint at the beggining. ## Context diff --git a/docs/blackboard/rest-apis/getting-started/releasing-your-integration.md b/docs/blackboard/rest-apis/getting-started/releasing-your-integration.md index 94f39fab3..7d901e1b4 100644 --- a/docs/blackboard/rest-apis/getting-started/releasing-your-integration.md +++ b/docs/blackboard/rest-apis/getting-started/releasing-your-integration.md @@ -20,7 +20,7 @@ These fall into two categories: Before releasing your integration, please make sure there are sufficient site and rate limits for a smooth operation, you can review our information on [Groups, Quotas, and Rates](/docs/developer-portal/production-groups-rest-api-and-site-reg-limits.md) to learn more. The first steps are: 1. Create a group named after the Company or the institution, keep in mind this group will receive production level settings, also, please make sure to follow our [naming convention.](/docs/developer-portal/best-practices#how-to-name-your-groups) -2. File a Support ticket requestion production settings on your group. (for BbDN-level and above partners and any Bb Client, please file a support ticket to request production settings on your group. If you are a community-level partner, please send us an email to developers@anthology.com) +2. File a Support ticket requestion production settings on your group. (for BbDN-level and above partners and any Bb Client, please file a support ticket to request production settings on your group. If you are a community-level partner, please send us an email to developers@blackboard.com) 3. We will proceed and update a group to a production group 4. Now you can associate your application with your production group. @@ -62,5 +62,5 @@ E.G: You needed to find the entitlements (from the API documentation) and the Pr ### Key Takeaways -- Providing the required Privileges to Learn Admins reduces the risk of a failure in integration installation and operation. Anthology nor you should want to burden clients with figuring out from the API Docs which Entitlements are needed and look up these Privileges on their own so that your application works as expected. +- Providing the required Privileges to Learn Admins reduces the risk of a failure in integration installation and operation. Blackboard nor you should want to burden clients with figuring out from the API Docs which Entitlements are needed and look up these Privileges on their own so that your application works as expected. - Following secure practices around key:secret management create a safer more secure www. diff --git a/docs/blackboard/rest-apis/getting-started/rest-and-learn.md b/docs/blackboard/rest-apis/getting-started/rest-and-learn.md index 93b569763..b86dee970 100644 --- a/docs/blackboard/rest-apis/getting-started/rest-and-learn.md +++ b/docs/blackboard/rest-apis/getting-started/rest-and-learn.md @@ -54,17 +54,17 @@ allow the REST Application to function. The vendor or developer of the REST application should provide a list of required entitlements. NEVER configure a REST application to act as a System Admin user. Doing so -gives the REST application full access to all data and operations of your Learn environment possibly resulting in IRREPARABLE harm. If a vendor requests a System Admin user for their application, do not allow it. In such a case, please provide the vendor's contact and application information to developers@anthology.com so that we can +gives the REST application full access to all data and operations of your Learn environment possibly resulting in IRREPARABLE harm. If a vendor requests a System Admin user for their application, do not allow it. In such a case, please provide the vendor's contact and application information to developers@blackboard.com so that we can help the vendor correct the situation. ![Create REST integration](/assets/img/rest-and-learn-3.png) -**Note:** If you are an Anthology client, an Anthology Partner / Vendor / Developer of an LTI or REST Application should NEVER tell you to go to the developer portal and create an App ID with the associated key/secret to install their application. They should never tell you to apply for a Rate/Site increase for their application. Anthology DOES NOT support that model. Every REST Application developer should give you an App ID to install their REST App and tell you how to configure a system role for its use. Period. The REST Application developer needs to request the increases they need to run their application themselves. If they ask you to go to developer.anthology.com and get an App ID/Key/Secret, please tell them that is wrong. They should have exactly one App ID for their production REST application that they are asking you to install. +**Note:** If you are an blackboard client, an blackboard Partner / Vendor / Developer of an LTI or REST Application should NEVER tell you to go to the developer portal and create an App ID with the associated key/secret to install their application. They should never tell you to apply for a Rate/Site increase for their application. blackboard DOES NOT support that model. Every REST Application developer should give you an App ID to install their REST App and tell you how to configure a system role for its use. Period. The REST Application developer needs to request the increases they need to run their application themselves. If they ask you to go to developer.blackboard.com and get an App ID/Key/Secret, please tell them that is wrong. They should have exactly one App ID for their production REST application that they are asking you to install. Contractors are an exception to this policy as they are producing an -integration on your, the Anthology client, behalf. Questions regarding the +integration on your, the blackboard client, behalf. Questions regarding the policy and whether you are impacted may be asked here, or posted to -[developers@anthology.com](mailto:developers@anthology.com). +[developers@blackboard.com](mailto:developers@blackboard.com). ### Managing your REST Integration @@ -133,4 +133,4 @@ For a more detailed process please see [Releasing your REST Integration](/docs/b **Step 7:** Include information from Step 6 in your client facing documentation. -_**Key takeaway:**_ Providing the required Privileges to Learn Admins reduces the risk of a failure in integration installation and operation. Anthology nor you should want to burden clients with figuring out from the API Docs which Entitlements are needed and look up these Privileges on their own so that your application works as expected. +_**Key takeaway:**_ Providing the required Privileges to Learn Admins reduces the risk of a failure in integration installation and operation. blackboard nor you should want to burden clients with figuring out from the API Docs which Entitlements are needed and look up these Privileges on their own so that your application works as expected. diff --git a/docs/blackboard/rest-apis/hands-on/adaptive-release.md b/docs/blackboard/rest-apis/hands-on/adaptive-release.md index eaa1301e3..ffdf29e7c 100644 --- a/docs/blackboard/rest-apis/hands-on/adaptive-release.md +++ b/docs/blackboard/rest-apis/hands-on/adaptive-release.md @@ -37,7 +37,7 @@ A rule must be born. Yes, we need to create a rule that will contain our criteria (We assume the course and content has already been created), all rules depend on content, you need to create first content, then the rule, then criteria(optional) and define who will receive these rules. -For specific messages that may be returned by the api, please review: https://developer.anthology.com/portal/displayApi +For specific messages that may be returned by the api, please review: https://developer.blackboard.com/portal/displayApi Also, please make sure to always review the entitlements required for each endpoint, you can check this document [How to map entitlements with privileges](/docs/blackboard/rest-apis/getting-started/mapping-entitlements-to-privileges.md) to get more information about entitlements. diff --git a/docs/blackboard/rest-apis/hands-on/attendance.md b/docs/blackboard/rest-apis/hands-on/attendance.md index 20e6d21b3..0e4bde008 100644 --- a/docs/blackboard/rest-apis/hands-on/attendance.md +++ b/docs/blackboard/rest-apis/hands-on/attendance.md @@ -69,7 +69,7 @@ Given this idea of objects and groups I have broken down the endpoints to make t ![Image showing A break down per object and method of attendance rest api endpoints](../../../../static/assets/img/docs-site_attendance-5.png) -Hopefully this last image is helpful, if you have any questions, please contact us at developers@anthology.com +Hopefully this last image is helpful, if you have any questions, please contact us at developers@blackboard.com > A very important note to keep in mind: As of the date of creation of this document, If you create an attendance meeting using the REST API, the attendance status CANNOT be modified using the GUI, it can ONLY be modified using REST API. This does not apply to meetings created in the GUI, you can modify those using either the GUI or the REST API. diff --git a/docs/blackboard/rest-apis/hands-on/calendar-api.md b/docs/blackboard/rest-apis/hands-on/calendar-api.md index 3a434c2f3..0e38def6d 100644 --- a/docs/blackboard/rest-apis/hands-on/calendar-api.md +++ b/docs/blackboard/rest-apis/hands-on/calendar-api.md @@ -19,7 +19,7 @@ Notes: - All Learn Calendar APIs work the same for either Original or Ultra course experiences. -- Learn Public REST APIs are documented at https://developer.anthology.com/portal/displayAPI/Learn +- Learn Public REST APIs are documented at https://developer.blackboard.com/portal/displayAPI/Learn - All Calendar APIs are accessible based on the integration Privileges whether using 3LO or basic OAuth 2.0. diff --git a/docs/blackboard/rest-apis/hands-on/content.md b/docs/blackboard/rest-apis/hands-on/content.md index 5de773eca..ab932effa 100644 --- a/docs/blackboard/rest-apis/hands-on/content.md +++ b/docs/blackboard/rest-apis/hands-on/content.md @@ -182,7 +182,7 @@ And in the body: ```json { "title": "This is a new folder for content created using REST API", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "position": 1, "launchInNewWindow": false, @@ -209,7 +209,7 @@ It returns when 201: "id": "_126266_1", "parentId": "_120893_1", "title": "This is a new folder for content created using REST API", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "created": "2022-03-14T21:31:32.552Z", "modified": "2022-03-14T21:31:32.611Z", @@ -249,7 +249,7 @@ You can Learn more about adaptive release [here](./adaptive-release.md). ```json { "title": "This is a new folder for content created using REST API, without adaptive release", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "position": 1, "launchInNewWindow": false, @@ -330,7 +330,7 @@ Returns when 200: ## Creating Children content -Please review the types of content you can create based on the contentHandler, please review: https://docs.anthology.com/docs/blackboard/rest-apis/advanced/content-handler +Please review the types of content you can create based on the contentHandler, please review: https://docs.blackboard.com/docs/blackboard/rest-apis/advanced/content-handler ### Creating a folder within a folder @@ -342,7 +342,7 @@ And in the body (Please notice the parentId attribute AND contentHandler): { "title": "This is a child of a folder, a folder within a folder", "parentId": "_121047_1", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "position": 1, "launchInNewWindow": false, @@ -365,7 +365,7 @@ Returns with 201: "id": "_127321_1", "parentId": "_121047_1", "title": "This is a child of a folder, a folder within a folder", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "created": "2022-03-17T17:03:13.686Z", "modified": "2022-03-17T17:03:13.761Z", @@ -407,7 +407,7 @@ And in the body (Please notice the parentId attribute AND contentHandler): { "title": "This is a child of a folder, This is content", "parentId": "_121047_1", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "position": 1, "launchInNewWindow": false, @@ -431,7 +431,7 @@ When 201 returns: "id": "_127322_1", "parentId": "_121047_1", "title": "This is a child of a folder, This is content", - "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.anthology.com https://docs.anthology.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", + "body": "Body can be created using BBML, please review developers.blackboard.com for more information and docs.blackboard.com https://docs.blackboard.com/docs/rest-apis/learn/advanced/rest_apis-learn-advanced-bbml", "description": "Content description", "created": "2022-03-17T17:28:29.688Z", "modified": "2022-03-17T17:28:29.796Z", diff --git a/docs/blackboard/rest-apis/hands-on/copying-courses.md b/docs/blackboard/rest-apis/hands-on/copying-courses.md index 10f9e88f7..7c027c8ac 100644 --- a/docs/blackboard/rest-apis/hands-on/copying-courses.md +++ b/docs/blackboard/rest-apis/hands-on/copying-courses.md @@ -12,7 +12,7 @@ author: Mark Kauffman, Mark O'Neil > Notes: > > - The Learn Course Copy APIs work the same for either Original or Ultra course experiences. -> - Learn Public REST APIs are documented at https;//developer.anthology.com/portal/displayAPI/Learn +> - Learn Public REST APIs are documented at https;//developer.blackboard.com/portal/displayAPI/Learn > - Information on System Administrators is not generally available via Public REST APIs, thus it is a Best Practice for Learn Administrators who are teaching or taking courses be enrolled using a non-Admininistrator Role privileged user. ## Topic @@ -128,7 +128,7 @@ Body: - Always monitor your API usage using the x-header information returned on non-oauth requests - - Details on rate_limits and x-headers are available [here](https://docs.anthology.com/docs/developer-portal/production-groups-rest-api-and-site-registration-limits#rest-api-calls-limit). + - Details on rate_limits and x-headers are available [here](https://docs.blackboard.com/docs/developer-portal/production-groups-rest-api-and-site-registration-limits#rest-api-calls-limit). - Not all data operations are best done JIT. Some operations, such as backfilling data warehouses or refreshing caches are best done during off-peak Learn hours. diff --git a/docs/blackboard/rest-apis/hands-on/course-toc.md b/docs/blackboard/rest-apis/hands-on/course-toc.md index 1ec0a2770..8cc598c6a 100644 --- a/docs/blackboard/rest-apis/hands-on/course-toc.md +++ b/docs/blackboard/rest-apis/hands-on/course-toc.md @@ -153,7 +153,7 @@ You will need: ![Image of the mapping between course toc and get payload](/assets/img/course_toc-second-image.png) -Please remember you can always check in our documentation the model to understand the meaning of each attribute in the payload in our [Developer Portal](https://developer.anthology.com/portal/displayApi) +Please remember you can always check in our documentation the model to understand the meaning of each attribute in the payload in our [Developer Portal](https://developer.blackboard.com/portal/displayApi) ![Image of the model](/assets/img/course_toc-third_image.png) diff --git a/docs/blackboard/rest-apis/hands-on/gradebook.md b/docs/blackboard/rest-apis/hands-on/gradebook.md index 5235f782d..8651e78a3 100644 --- a/docs/blackboard/rest-apis/hands-on/gradebook.md +++ b/docs/blackboard/rest-apis/hands-on/gradebook.md @@ -12,7 +12,7 @@ author: Mark O'Neil > Notes: > > - All Learn Gradebook APIs work the same for either Original or Ultra course experiences. -> - Learn Public REST APIs are documented at https;//developer.anthology.com/portal/displayAPI/Learn +> - Learn Public REST APIs are documented at https;//developer.blackboard.com/portal/displayAPI/Learn > - Information on System Administrators is not generally available via Public REST APIs, thus it is a Best Practice for Learn Administrators who are teaching or taking courses be enrolled using a non-Admininistrator Role privileged user. ## Topic diff --git a/docs/blackboard/rest-apis/hands-on/groups-and-rest-api.md b/docs/blackboard/rest-apis/hands-on/groups-and-rest-api.md index 5db9b1dea..43f57bc99 100644 --- a/docs/blackboard/rest-apis/hands-on/groups-and-rest-api.md +++ b/docs/blackboard/rest-apis/hands-on/groups-and-rest-api.md @@ -18,7 +18,7 @@ In case you were wondering, C.R.U.D means: - Update - Delete -> Please remember to always use https://developer.anthology.com/portal/displayApi as your first source +> Please remember to always use https://developer.blackboard.com/portal/displayApi as your first source # Groups in Ultra Experience (C.R.U.D) diff --git a/docs/blackboard/rest-apis/learn-intro-[review].md b/docs/blackboard/rest-apis/learn-intro-[review].md index 8b419cb0b..6bbdeb11f 100644 --- a/docs/blackboard/rest-apis/learn-intro-[review].md +++ b/docs/blackboard/rest-apis/learn-intro-[review].md @@ -13,7 +13,7 @@ Blackboard Learn integrations are similar to plugins or add-ons in other softwar Overall, Blackboard Learn has a long history of supporting integrations with external tools and content providers, and continues to invest in this area to ensure that its users have access to a wide range of educational resources and tools within the Blackboard environment. -Anthology considers RESTful APIs to be the future of integration development and Blackboard Learn is following this thinking as well, having End of Lifed SOAP Web Services in 2020 and announcing EOL for their Java Building Blocks on January 1st, 2024. +Blackboard considers RESTful APIs to be the future of integration development and Blackboard Learn is following this thinking as well, having End of Lifed SOAP Web Services in 2020 and announcing EOL for their Java Building Blocks on January 1st, 2024. ## RESTful APIs @@ -33,6 +33,6 @@ Blackboard Learn REST APIs support a wide range of functionality for integrating ## API Documentation and Examples -Anthology provides comprehensive [REST API documentation](https://developer.anthology.com/portal/displayApi/Learn) that describes the various endpoints, request and response formats, and authentication methods that are available. The documentation on this site includes examples and code snippets to help you get started with using the REST APIs in your integrations. +Blackboard provides comprehensive [REST API documentation](https://developer.blackboard.com/portal/displayApi/Learn) that describes the various endpoints, request and response formats, and authentication methods that are available. The documentation on this site includes examples and code snippets to help you get started with using the REST APIs in your integrations. Also provided is a [github repo](https://github.com/search?q=org%3Ablackboard+blackboard%2FBBDN-) containing useful application code for getting started. diff --git a/docs/blackboard/sandbox-envs/ami-config/faq.md b/docs/blackboard/sandbox-envs/ami-config/faq.md index fdbf06837..ba844d71d 100644 --- a/docs/blackboard/sandbox-envs/ami-config/faq.md +++ b/docs/blackboard/sandbox-envs/ami-config/faq.md @@ -28,7 +28,7 @@ Not stopping your EC2 when you encounter an error or completed your development ::: -If you have any questions, feel free to ask in this space or email us at developers@anthology.com. +If you have any questions, feel free to ask in this space or email us at developers@blackboard.com. ### How can I migrate the information from one EC2/AMI to another? -- Migration Cookbook - Recreating Data between AMIs @@ -57,7 +57,7 @@ When receiving this error there are two root causes: 1. The server hasn't properly started and the router is still spooling up. Give it 5 to 10 minutes and try again, if the issue persists follow to the next step 2. Incorrect configuration for the VPC. Please verify that the third step of the configuration under [Use the Blackboard REST and LTI Developer AM](/docs/blackboard/sandbox-envs/ami-config/overview.md) was followed and DNS hostnames is set to **Yes** -if the issue persists, please create a ticket through our Anthology Support Portal or send an email to [developers@anthology.com](mailto:developers@anthology.com) +if the issue persists, please create a ticket through our Blackboard Support Portal or send an email to [developers@blackboard.com](mailto:developers@blackboard.com) ### CVE from AVG Antivirus diff --git a/docs/blackboard/sandbox-envs/ami-config/overview.md b/docs/blackboard/sandbox-envs/ami-config/overview.md index 0f8569ef2..93f3801a4 100644 --- a/docs/blackboard/sandbox-envs/ami-config/overview.md +++ b/docs/blackboard/sandbox-envs/ami-config/overview.md @@ -31,7 +31,7 @@ This will take you to the Launch wizard for EC2 that will prompt you for configu :::important 502 Gateway error If you see 502 Gateway errors, this might indicate that your server is running out of memory to process the requests. You may need to increase the size of your AMI. -If you already have a `t2.large` server, refer to our Frequently Asked Questions (FAQ) and troubleshooting section [here](/docs/blackboard/sandbox-envs/ami-config/faq). If the issue persist, please contact Anthology Support for assistance (If you have a support portal account, create a ticket for this issue, if you don't have an account, email developers@anthology.com) +If you already have a `t2.large` server, refer to our Frequently Asked Questions (FAQ) and troubleshooting section [here](/docs/blackboard/sandbox-envs/ami-config/faq). If the issue persist, please contact Blackboard Support for assistance (If you have a support portal account, create a ticket for this issue, if you don't have an account, email developers@blackboard.com) ::: 2. We recommend you adjust the security settings to allow: diff --git a/docs/blackboard/sandbox-envs/ami-config/server-info.md b/docs/blackboard/sandbox-envs/ami-config/server-info.md index 256a9c0a5..7612fc171 100644 --- a/docs/blackboard/sandbox-envs/ami-config/server-info.md +++ b/docs/blackboard/sandbox-envs/ami-config/server-info.md @@ -29,7 +29,7 @@ When you stop and start an existing EC2 instance, AWS resets the public domain n ```yaml title=my_ssl_config ssldomain: devmen.hopto.org -sslemail: developers@anthology.com +sslemail: developers@blackboard.com ``` 4. Once the file is created, reboot the instance by executing the following command through the SSH session: @@ -38,7 +38,7 @@ sslemail: developers@anthology.com sudo reboot now ``` -> \* Anthology Inc does not endorse or recommend specific DNS providers such as NoIp.com for usage. These are mentioned for their free options but any service can be used to map DNS entries +> \* Blackboard LLC does not endorse or recommend specific DNS providers such as NoIp.com for usage. These are mentioned for their free options but any service can be used to map DNS entries ## Create the Let's Encrypt certificate diff --git a/docs/blackboard/sandbox-envs/ami-config/system-access.md b/docs/blackboard/sandbox-envs/ami-config/system-access.md index 8a4726be8..b08bf785f 100644 --- a/docs/blackboard/sandbox-envs/ami-config/system-access.md +++ b/docs/blackboard/sandbox-envs/ami-config/system-access.md @@ -124,6 +124,6 @@ From here on out, you're ready to start developing within Blackboard Learn. You You can find additional information about our integration methods here: -- REST API: [About Anthology REST APIs](/docs/blackboard/rest-apis/apis-intro.md) +- REST API: [About Blackboard REST APIs](/docs/blackboard/rest-apis/apis-intro.md) - LTI: [Getting started with LTI](/docs/blackboard/lti/welcome) - Ultra Extension Framework (UEF) [What is UEF](/docs/blackboard/uef/01-getting-started.md) diff --git a/docs/blackboard/sandbox-envs/welcome.md b/docs/blackboard/sandbox-envs/welcome.md index e87547531..61ff41afc 100644 --- a/docs/blackboard/sandbox-envs/welcome.md +++ b/docs/blackboard/sandbox-envs/welcome.md @@ -48,7 +48,7 @@ If, on the other hand, you don't have an account, click the "Accept" button and - **Publish date:** February 19th 2026 - **Expiration Date:** June 21st 2026. - **What changed?:** No reboot needed. Should take about 15 to 30 minutes to start up. please make sure to use t2.large or bigger size. We currently only support AWS for VMDK deployment. Fixed a problem related to cloud connection that prevented certain functionalities to work. - + ::: diff --git a/docs/blackboard/sis/welcome.md b/docs/blackboard/sis/welcome.md index 5a94f16f6..7dc1e1c07 100644 --- a/docs/blackboard/sis/welcome.md +++ b/docs/blackboard/sis/welcome.md @@ -8,7 +8,7 @@ edited: "" --- The SIS (Student Information Systems) API is a classic API oriented around bulk or event-driven data loading from a SIS -or ERP program like Anthology Student, Banner or Colleague. Most aspects of SIS are [documented on our main help site](https://help.blackboard.com/Learn/Administrator/SaaS/Integrations/Student_Information_System), +or ERP program like Student (Ellucian), Banner or Colleague. Most aspects of SIS are [documented on our main help site](https://help.blackboard.com/Learn/Administrator/SaaS/Integrations/Student_Information_System), but some developer documentation is provided here. ## SIS Types diff --git a/docs/blackboard/uef/01-getting-started.md b/docs/blackboard/uef/01-getting-started.md index 7aa8f47aa..298c7ffd8 100644 --- a/docs/blackboard/uef/01-getting-started.md +++ b/docs/blackboard/uef/01-getting-started.md @@ -23,7 +23,7 @@ The UEF offers the following capabilities to integrate with the Learn Ultra Expe We gave several partners early access to the UEF during the beta phase, the following videos are examples of how these partners used the UEF to better deliver their integration in Ultra. -### Anthology +### Blackboard Use the telemetry service to get information about user routes, and hover to display information based on user actions: @@ -39,7 +39,7 @@ You can also find screenshots of this integration here: [PDF Download](/assets/f ### eXplorance - Blue -"Blue is an adaptive course evaluation solution that offers you flexibility, personalization, and control when gathering student feedback." - _Anthology App catalog description_ +"Blue is an adaptive course evaluation solution that offers you flexibility, personalization, and control when gathering student feedback." - _Blackboard App catalog description_ diff --git a/docs/blackboard/uef/03-requirements-for-uef.md b/docs/blackboard/uef/03-requirements-for-uef.md index 285fe5570..278c1f5e4 100644 --- a/docs/blackboard/uef/03-requirements-for-uef.md +++ b/docs/blackboard/uef/03-requirements-for-uef.md @@ -9,10 +9,10 @@ Before you can start working and developing for UEF, you will need to make sure ## Premium APIs Access (including UEF) -If you are a developer and interested in pursuing use of the UEF Premium APIs in your integration with the Learn Ultra Experience, what are your next steps? Email our Partnerships team at [partners@anthology.com](mailto:partners@anthology.com) with the subject "Interested in Partnership That Includes Premium API Access." Ask for time to discuss such with a member of our partnership team. +If you are a developer and interested in pursuing use of the UEF Premium APIs in your integration with the Learn Ultra Experience, what are your next steps? Email our Partnerships team at [partners@blackboard.com](mailto:partners@blackboard.com) with the subject "Interested in Partnership That Includes Premium API Access." Ask for time to discuss such with a member of our partnership team. :::info existing partners and/or clients -If you are a partner with a partnership-level of Bronze or higher, or you are a client, then you can simply file a Support ticket through our Global Support portal ([https://support.anthology.com](https://support.anthology.com)) requesting UEF access. +If you are a partner with a partnership-level of Bronze or higher, or you are a client, then you can simply file a Support ticket through our Global Support portal ([https://support.blackboard.com](https://support.blackboard.com)) requesting UEF access. In the ticket, include the email used to register the application in the Developer Portal, and the name of the group where you will place applications that you want UEF enabled. ::: diff --git a/docs/blackboard/uef/04-authenticating-to-uef.md b/docs/blackboard/uef/04-authenticating-to-uef.md index a95580e31..8aff3cd73 100644 --- a/docs/blackboard/uef/04-authenticating-to-uef.md +++ b/docs/blackboard/uef/04-authenticating-to-uef.md @@ -218,6 +218,6 @@ Now that you're subscribed and know that events will arrive through the same Mes Please be aware that fetch requests to backend services where heavy computational tasks or queries are executed are not recommended since it will severely impact the loading time of your integration and, by extent, the communication with Ultra. ::: -You can also review the entire specifications and documentation for UEF here [https://docs.anthology.com/uef-documentation/start.html](https://docs.anthology.com/uef-documentation/start.html) to know how to render information on the Ultra UI, register your help providers or create new panels/modals for your data. +You can also review the entire specifications and documentation for UEF here [https://docs.blackboard.com/uef-documentation/start.html](https://docs.blackboard.com/uef-documentation/start.html) to know how to render information on the Ultra UI, register your help providers or create new panels/modals for your data. We also have available some tutorials in the next section to help you understand and build your own UEF integration. diff --git a/docs/blackboard/uef/Tutorials/01-lti-to-uef-tutorial.md b/docs/blackboard/uef/Tutorials/01-lti-to-uef-tutorial.md index fb2766157..ec017d1ed 100644 --- a/docs/blackboard/uef/Tutorials/01-lti-to-uef-tutorial.md +++ b/docs/blackboard/uef/Tutorials/01-lti-to-uef-tutorial.md @@ -57,7 +57,7 @@ The next step is to register our application. Notice that we don't have any code -1. Browse to [the developer portal](https://developer.anthology.com) +1. Browse to [the developer portal](https://developer.blackboard.com) 2. If you do not have an account, register for one. The password restrictions are crazy, so be sure to read them before creating your password to save yourself some time and frustration. 3. Login to your account 4. Under My Apps, click the + icon to create a new application. @@ -215,6 +215,6 @@ Cool, right? But let's put the finishing touches on this thing. We might need da ## Summary -I hope you found that fun and enlightening. As always, if you have questions, comments, or concerns, reach out to us at [developers@anthology.com](mailto:developers@anthology.com) and let us know! +I hope you found that fun and enlightening. As always, if you have questions, comments, or concerns, reach out to us at [developers@blackboard.com](mailto:developers@blackboard.com) and let us know! -Happy Coding diff --git a/docs/blackboard/uef/Tutorials/05-tutorials-course-leftnav.md b/docs/blackboard/uef/Tutorials/05-tutorials-course-leftnav.md index 56ff8e4be..59489b28d 100644 --- a/docs/blackboard/uef/Tutorials/05-tutorials-course-leftnav.md +++ b/docs/blackboard/uef/Tutorials/05-tutorials-course-leftnav.md @@ -23,7 +23,7 @@ We've had a lot of requests asking about how to add an LTI launch to an Ultra co This video demonstrates creating a link in the Ultra course Details & Actions section that does an LTI launch. - + ### Sample Code diff --git a/docs/blackboard/welcome.md b/docs/blackboard/welcome.md index 159e2d74c..6adda6c93 100644 --- a/docs/blackboard/welcome.md +++ b/docs/blackboard/welcome.md @@ -1,11 +1,11 @@ --- -title: Integrating with Blackboard Learn +title: Integrating with Blackboard LMS id: welcome --- ## Welcome to the world of integrations! -Blackboard Learn has different means of interacting with grading, users, courses and enrollments, each one will provide different levels of access to information. Blackboard Learn incorporates most of the standards for education, mostly the ones provided by 1EdTech +Blackboard LMS has different means of interacting with grading, users, courses and enrollments, each one will provide different levels of access to information. Blackboard LMS incorporates most of the standards for education, mostly the ones provided by 1EdTech ## The available options @@ -16,7 +16,7 @@ As indicated, Blackboard Learn does provide different frameworks to integrate, h | REST API | Access needed for course content area, items, grades, enrollments, course configuration, etc. | | LTI Advantage | Provides access to external tools and allows creation of course items, graded columns and grades | | Student Information System (SIS) | Provides a framework to create users, courses and enrollments in bulk | -| Ultra Extension Framework | Framework created by Anthology to allow third-party tools to interact with the Ultra Course Navigation to render additional data | +| Ultra Extension Framework | Framework created by Blackboard to allow third-party tools to interact with the Ultra Course Navigation to render additional data | | Proctoring | Leverages the Ultra Extension Framework to interconnect external Proctoring services to Blackboard Learn tests | ## Ready to start? diff --git a/docs/community/community-intro.md b/docs/community/community-intro.md index e5d6f386d..4c0223b32 100644 --- a/docs/community/community-intro.md +++ b/docs/community/community-intro.md @@ -1,5 +1,5 @@ --- -title: Welcome to the Anthology Developer Community! +title: Welcome to the Blackboard Developer Community! id: community-intro sidebar_position: 1 published: "2023-05-09" @@ -7,22 +7,12 @@ edited: "2023-05-09" author: Scott Hurrey --- -Welcome you to Anthology's developer community! As a community of developers, we are committed to working together to build innovative and cutting-edge solutions that push the boundaries of what is possible in education. +Welcome you to Blackboard's developer community! As a community of developers, we are committed to working together to build innovative and cutting-edge solutions that push the boundaries of what is possible in education. -Anthology is a platform that connects edutech software and content developers with their audiences, allowing them to monetize their content while providing Anthology clients with a seamless experience. We believe that developers like you are critical to our and our clients success in delivering education, and we are excited to collaborate with you to build the future of edutech. +Blackboard is a platform that connects edutech software and content developers with their audiences, allowing them to monetize their content while providing Blackboard clients with a seamless experience. We believe that developers like you are critical to our and our clients success in delivering education, and we are excited to collaborate with you to build the future of edutech. As a member of our developer community, you will have access to a wide range of resources and tools, including APIs, SDKs, and documentation, to help you build amazing applications on our platform. You will also have the opportunity to participate in our developer events, forums, webinars, and engage with other members of our community. -At Anthology, we are committed to providing a supportive and inclusive environment where everyone can thrive. We welcome developers of all backgrounds, experience levels, and perspectives to join our community and contribute to our mission. +At Blackboard, we are committed to providing a supportive and inclusive environment where everyone can thrive. We welcome developers of all backgrounds, experience levels, and perspectives to join our community and contribute to our mission. Thank you for joining us on this journey. We look forward to working with you to build the future of education and edutech. - -## Events - -### JULY 17-20, 2023 - -**Join us for Anthology Together '23!** - -Live and in person in Music City, Nashville, Tennessee at the Gaylord Opryland Resort - -[Information and Registration](https://www2.anthology.com/together) diff --git a/docs/community/contact.md b/docs/community/contact.md index 0f7d992bd..025fc27f5 100644 --- a/docs/community/contact.md +++ b/docs/community/contact.md @@ -10,9 +10,9 @@ sidebar_position: 3 There are many ways to get in touch with us: -- E-mail the Anthology Developers Network Team: [developers@anthology.com](mailto:developers@anthology.com) -- E-mail the Anthology Partner Team: [bbpartnerteam@blackboard.com](mailto:bbpartnerteam@blackboard.com) +- E-mail the Blackboard Developers Network Team: [developers@blackboard.com](mailto:developers@blackboard.com) +- E-mail the Blackboard Partner Team: [partners@blackboard.com](mailto:partners@blackboard.com) - Post to our [discussion space](https://community.blackboard.com/developers) -- Join the [Anthology Techies Slack channel.](https://join.slack.com/t/blackboardtechies/shared_invite/zt-21ayvh4af-FMtP3g~MTHY0aay6CvcZtw) +- Join the [Blackboard Techies Slack channel.](https://join.slack.com/t/blackboardtechies/shared_invite/zt-21ayvh4af-FMtP3g~MTHY0aay6CvcZtw) - Tell us in person at a conference - Provide your feedback through one of our many users groups diff --git a/docs/community/getting-involved.md b/docs/community/getting-involved.md index a8e3a0fc5..924827069 100644 --- a/docs/community/getting-involved.md +++ b/docs/community/getting-involved.md @@ -10,20 +10,20 @@ sidebar_position: 2 Getting involved in the Developer community is easy and with options to suit your goals… -- If you have not already done so, register for an Anthology Developer Community account to interact. Its free, and gives you the ability to participate in all of the Anthology Communities. If you are interested in contributing to the blogs here on the Community site, let us know. +- If you have not already done so, register for an Blackboard Developer Community account to interact. Its free, and gives you the ability to participate in all of the Blackboard Communities. If you are interested in contributing to the blogs here on the Community site, let us know. - Build a tutorial - If there is an area of the product or a technology that you feel deserves more or better documentation, please consider working with us to build a tutorial so that we can share that information with the community. - Host a webinar - Please consider hosting a Webinar on any topic that you feel would benefit the developer community. We are able to provide a conference line and Collaborate software to support your webinar. Contact us if you are interested. - The Developer Office Hours is interested in hosting your presentation. Contact us if you have a topic on which you would like to present. -- [Contribute an idea](https://community.anthology.com/developers) for a REST or LTI Tool -- [Link to your blog](https://community.anthology.com/developers) +- [Contribute an idea](https://community.blackboard.com/developers) for a REST or LTI Tool +- [Link to your blog](https://community.blackboard.com/developers) - Present at a conference or user group event - - Check the [Calendar of Events](https://community.anthology.com/developers) for upcoming deadlines or regularly meeting groups which may benefit from your experience -- [Host an event](mailto:bbpartnerteam@anthology.com) -- E-mail [BbDN](mailto:bbpartnerteam@anthology.com) with your event details so that we can add it to our events calendar. -- [Give us feedback](mailto:developers@anthology.com) -- Join the [Anthology Techies Slack channel](https://join.slack.com/t/blackboardtechies/shared_invite/zt-21ayvh4af-FMtP3g~MTHY0aay6CvcZtw) + - Check the [Calendar of Events](https://community.blackboard.com/developers) for upcoming deadlines or regularly meeting groups which may benefit from your experience +- [Host an event](mailto:bbpartnerteam@blackboard.com) +- E-mail [BbDN](mailto:bbpartnerteam@blackboard.com) with your event details so that we can add it to our events calendar. +- [Give us feedback](mailto:developers@blackboard.com) +- Join the [Blackboard Techies Slack channel](https://join.slack.com/t/blackboardtechies/shared_invite/zt-21ayvh4af-FMtP3g~MTHY0aay6CvcZtw) ### Tech office hours call diff --git a/docs/developer-portal/creating-and-managing-groups.md b/docs/developer-portal/creating-and-managing-groups.md index 456e84ae3..12cbc2b56 100644 --- a/docs/developer-portal/creating-and-managing-groups.md +++ b/docs/developer-portal/creating-and-managing-groups.md @@ -19,7 +19,7 @@ You can create groups for individual and team development. You can target a spec - **A Group can have one or more applications associated with it.** This association allows for granular management of applications and teams' access to application information. - **Groups enable you to manage the developers** associated with your projects and the release level of your applications. - **Groups allow for a higher contracted rate_limit and site quota** over those set for default developer accounts. These settings are based on your Blackboard Learn license or Business Development contract. If you do not have a Blackboard Learn product license or do not have a Business Development contract, your groups will all have default developer account settings. -- **Groups cannot be deleted or removed by you or Anthology.** +- **Groups cannot be deleted or removed by you or Blackboard.** ## Creating a group diff --git a/docs/developer-portal/creating-rest-or-lti-application.md b/docs/developer-portal/creating-rest-or-lti-application.md index 35d9fcd38..107afd1a0 100644 --- a/docs/developer-portal/creating-rest-or-lti-application.md +++ b/docs/developer-portal/creating-rest-or-lti-application.md @@ -35,11 +35,11 @@ In the application form, enter your application information. **Fields with a red 2. **Description.** Describe your application. Address who your application is intended for and what its main goal is. For example, "Grade Sync allows students and instructors to sync grades with our system and centralize them in the institution's system." Limit 450 characters. -3. **Domain(s).** Enter the domain address(es) you want to use without the http or //. You can enter several domains separated by commas (for example, **devcon.blackboard.com**, **trial.anthology.com**). +3. **Domain(s).** Enter the domain address(es) you want to use without the http or //. You can enter several domains separated by commas (for example, **devcon.blackboard.com**, **trial.blackboard.com**). 4. **Group.** Add the group that this application is to be part of. A default group is added when you create an application. If you want to add your own group, read more about [Groups](/docs/developer-portal/creating-and-managing-groups). -5. **My integration Supports LTI 1.3.** By default, this option is switched off. Turn on if you need your application to support LTI 1.3. Anthology only supports LTI 1.3. +5. **My integration Supports LTI 1.3.** By default, this option is switched off. Turn on if you need your application to support LTI 1.3. Blackboard only supports LTI 1.3. 6. **Register Application.** Once all information has been entered, select **Register Application**. @@ -61,7 +61,7 @@ Once you have filled out and submitted the form, add the following information d #### Register REST API application -When you register a REST API application, you see three values that the developer portal returns. **These are shown only once, and Anthology cannot retrieve them. Make sure to document them for your records**: +When you register a REST API application, you see three values that the developer portal returns. **These are shown only once, and Blackboard cannot retrieve them. Make sure to document them for your records**: 1. Application Key 2. Secret @@ -73,7 +73,7 @@ Once you record and verify this information, select **Done** to be redirected to #### Register an LTI application -When you register a LTI application, you will see seven values that the developer portal returns, **These are shown only once, and Anthology cannot retrieve them. Make sure to document them for your records**: +When you register a LTI application, you will see seven values that the developer portal returns, **These are shown only once, and Blackboard cannot retrieve them. Make sure to document them for your records**: 1. Application Key 2. Secret @@ -119,7 +119,7 @@ Here you will be able to: 4. **Delete your application.** This removes your application. This is a one-way operation and cannot be undone. -5. **Manage your keys.** You can create new keys (keys and secrets), but the application keeps the same application ID. This can be used when you want to rotate your keys or make an old key and secret unusuable. You may never need to create additional keys. When you select **+**, it will generate new values that will be shown only once. Document and store them in a safe place because Anthology is unable to retrieve this data. +5. **Manage your keys.** You can create new keys (keys and secrets), but the application keeps the same application ID. This can be used when you want to rotate your keys or make an old key and secret unusuable. You may never need to create additional keys. When you select **+**, it will generate new values that will be shown only once. Document and store them in a safe place because Blackboard is unable to retrieve this data. ![Manage keys](/assets/img/create-rest-or-lti-app-8.png) diff --git a/docs/developer-portal/dev-portal-start-here.md b/docs/developer-portal/dev-portal-start-here.md index 3196338b5..a5a2c4f13 100644 --- a/docs/developer-portal/dev-portal-start-here.md +++ b/docs/developer-portal/dev-portal-start-here.md @@ -8,21 +8,21 @@ sidebar_position: 1 author: Davey Herrera, Dan Magers --- -On this page learn about the Anthology Developer Portal. Learn how to register for and navigate in the Portal. Selecting a navigation link on the side panel of this page takes you to that section. +On this page learn about the Blackboard Developer Portal. Learn how to register for and navigate in the Portal. Selecting a navigation link on the side panel of this page takes you to that section. -## What is the Anthology Developer Portal? +## What is the Blackboard Developer Portal? -The [Anthology Developer Portal](https://developer.anthology.com) is for anyone interested in developing integrations with the Anthology product portfolio. Find information about our REST APIs, our developer-facing documentation, and Portal-related announcements. +The [Blackboard Developer Portal](https://developer.blackboard.com) is for anyone interested in developing integrations with the Blackboard product portfolio. Find information about our REST APIs, our developer-facing documentation, and Portal-related announcements. Create an account to register an application. Registration is a required step for testing and releasing your integration. -> Contact us at developers@anthology.com for any issues related to integrations. +> Contact us at developers@blackboard.com for any issues related to integrations. -## Navigating the Anthology Developer Portal +## Navigating the blackboard Developer Portal When you enter our developer portal, you will find several links starting from the top left. Select an item in this list for more details and instructions. -1. **Developer Documentation.** Directs you to docs.anthology.com. +1. **Developer Documentation.** Directs you to docs.blackboard.com. 2. **Explore APIs.** Directs you to our Learn, Ally, or student Swagger for up-to-date lists of APIs. 3. **Sign up.** Create a brand-new Developer Portal account. 4. **Log in.** Log in to your existing Developer Portal account. @@ -33,15 +33,15 @@ When you enter our developer portal, you will find several links starting from t ### Developer Documentation -Anthology’s Developer Documentation (which includes this page) helps you explore Anthology’s product resources. It includes tutorials, sample code, articles, and API references. For an overview, visit https://docs.anthology.com/docs/site-intro. +Blackboard’s Developer Documentation (which includes this page) helps you explore Blackboard’s product resources. It includes tutorials, sample code, articles, and API references. For an overview, visit https://docs.blackboard.com/docs/site-intro. ### Explore APIs Explore Public APIs for: -- [Ally](https://developer.anthology.com/portal/displayApi/Ally) -- [Learn](https://developer.anthology.com/portal/displayApi/Learn) -- [Student](https://developer.anthology.com/portal/displayApi/Student) +- [Ally](https://developer.blackboard.com/portal/displayApi/Ally) +- [Learn](https://developer.blackboard.com/portal/displayApi/Learn) +- [Student](https://developer.blackboard.com/portal/displayApi/Student) Each link directs you to a Swagger that displays all available APIs and their endpoints. Swagger is a suite of open-source tools for API developers from SmartBear Software. To learn more about how Swaggers work, visit [Swagger’s documentation](https://swagger.io/docs). @@ -74,7 +74,7 @@ For your password, use the following rules: What you enter into the **First Name** and **Last name** fields is what is displayed on Blackboard Learn to identify your integration. Entering a company name in the name fields can be done in this way: -- **First name:** Anthology +- **First name:** blackboard - **Last name:** Inc. Confirm your identity in the CAPTCHA box. Then select **Create Account**. @@ -85,7 +85,7 @@ If you are encountering issues when you select **Create Account**, make sure you ![Developer portal sign up form](/assets/img/dev-portal-start-here-4.png) -Once you have successfully created your account, you will receive an email that gives information about our Documentation, Community, Partnerships, GitHub, and about our Amazon Machine Images [AMIs](https://docs.anthology.com/docs/rest-apis/learn/sandbox/developer-ami). +Once you have successfully created your account, you will receive an email that gives information about our Documentation, Community, Partnerships, GitHub, and about our Amazon Machine Images [AMIs](https://docs.blackboard.com/docs/rest-apis/learn/sandbox/developer-ami). Once you have created your account, you will be presented with a page that looks like this: @@ -106,13 +106,13 @@ When your account is created and you have logged in, you will notice that the to 1. **My Applications.** Manage your registered applications here. 2. **My Groups.** Manage your groups here. 3. **Bell Icon (🔔).** View Notifications in the Developer Portal. Select 🔔 to see your notifications. -4. **My Account.** Select **My Account** to review or edit your information. You are not able to edit your email (Anthology also cannot change this email). Your password can be reset by selecting **Change password**. +4. **My Account.** Select **My Account** to review or edit your information. You are not able to edit your email (Blackboard also cannot change this email). Your password can be reset by selecting **Change password**. ![Developer portal menu when logged in](/assets/img/dev-portal-start-here-12.png) ### Browse APIs -When you click the Browse APIs you will be redirected to our Swagger for APIs: [https://developer.anthology.com/portal/displayApi](https://developer.anthology.com/portal/displayApi) +When you click the Browse APIs you will be redirected to our Swagger for APIs: [https://developer.blackboard.com/portal/displayApi](https://developer.blackboard.com/portal/displayApi) #### Overall Swagger API structure diff --git a/docs/developer-portal/faq.md b/docs/developer-portal/faq.md index 32743fbf6..1bdfded05 100644 --- a/docs/developer-portal/faq.md +++ b/docs/developer-portal/faq.md @@ -12,6 +12,6 @@ This page is an ongoing collection of frequently asked questions about the Devel ## How do I change the ownership of my application? -Sometimes the owner of an application is a person and not a group. When that person leaves the company, the application continues under that person's email address. You can follow this video to change ownership. Anthology is unable to make changes to ownership of any application. +Sometimes the owner of an application is a person and not a group. When that person leaves the company, the application continues under that person's email address. You can follow this video to change ownership. Blackboard is unable to make changes to ownership of any application. diff --git a/docs/developer-portal/production-groups-rest-api-and-site-reg-limits.md b/docs/developer-portal/production-groups-rest-api-and-site-reg-limits.md index 44da56831..db55873ce 100644 --- a/docs/developer-portal/production-groups-rest-api-and-site-reg-limits.md +++ b/docs/developer-portal/production-groups-rest-api-and-site-reg-limits.md @@ -18,12 +18,12 @@ Your production group allows you to increase the number of site registrations an Use [our best practices](/docs/developer-portal/best-practices) to properly name groups. -- **If you are an Anthology Client or Partner.** Create a Behind the Blackboard ticket requesting an increase of the number of rest API calls and/or site registrations. You need to provide: +- **If you are an Blackboard Client or Partner.** Create a Behind the Blackboard ticket requesting an increase of the number of rest API calls and/or site registrations. You need to provide: - The email used to register your application. - The name of the production group. If you haven't created one yet, the limits are applied to any existing production. -- **If you are a third party with no partnership level.** Send an [email](mailto:bbpartnerteam@anthology.com) about your application, company, integration, and whether you are interested in a partnership. You can review our documentation to [become a partner](/docs/partners/become-a-partner.md). +- **If you are a third party with no partnership level.** Send an [email](mailto:bbpartnerteam@blackboard.com) about your application, company, integration, and whether you are interested in a partnership. You can review our documentation to [become a partner](/docs/partners/become-a-partner.md). ## Site Registration Limits diff --git a/docs/developer-portal/rate-limit-migration.md b/docs/developer-portal/rate-limit-migration.md index bb2fc49be..8cf54c20e 100644 --- a/docs/developer-portal/rate-limit-migration.md +++ b/docs/developer-portal/rate-limit-migration.md @@ -10,7 +10,7 @@ author: Daniel Nieto ## Background -The [Anthology Developer Portal](https://developer.anthology.com) plays a crucial role in the integrations with the Anthology product portfolio, as such it handles millions of requests each day, making the implementation of a rate limit mechanism essential. +The [blackboard Developer Portal](https://developer.blackboard.com) plays a crucial role in the integrations with the blackboard product portfolio, as such it handles millions of requests each day, making the implementation of a rate limit mechanism essential. Rate limiting is a mechanism used in the web applications to control the traffic flow and the resources utilization. The limit is set by a default value, which is the number of API requests that can be made each day from applications that are registered to your developer group **by default, this is set to 10,000 calls every 24 hours**. diff --git a/docs/maintenance-and-releases.md b/docs/maintenance-and-releases.md index fb10c268e..f677643e2 100644 --- a/docs/maintenance-and-releases.md +++ b/docs/maintenance-and-releases.md @@ -28,7 +28,7 @@ Any non-critical outage\*\* will be covered using our in-Portal announcements fe **API Usage Dashboard**
**Release version:** March / 2025
-**Instance:** Production (https://developer.anthology.com)
+**Instance:** Production (https://developer.blackboard.com)
**Impact:** Developers
The Developer Portal serves as a centralized hub for third-party developers to register, manage, and deploy their integrations with Blackboard LMS. To provide better visibility and control over API usage, the Developer Portal now features a dedicated API Usage Dashboard. This dashboard allows developers to monitor and analyze API consumption in real time, ensuring efficient integration management and performance tracking. @@ -94,7 +94,7 @@ To access API usage at the group level, go to the **"My Groups"** section and cl Old Release Notes **Release version:** February / 2025
-**Instance:** Production (https://developer.anthology.com)
+**Instance:** Production (https://developer.blackboard.com)
**Impact:** Developers
The Developer Portal continues to evolve to enhance self-service capabilities and give developers greater control over their accounts. We have introduced a developer account deletion request feature in the Account Page of the Developer Portal. This update ensures that account removal is handled securely and efficiently. Also, aligned with data protection best practices @@ -211,27 +211,15 @@ Features: --- -## Blackboard Learn +## Blackboard LMS -Learn release dates and release notes can be found through [Behind the Blackboard](https://behind.blackboard.com) or through our Help Documentation: +Learn release dates and release notes can be found through [Support portal](https://support.blackboard.com) or through our Help Documentation: - Release schedules for Blackboard Learn: [Release Schedule](https://help.blackboard.com/Learn/Administrator/SaaS/Release_Notes/Learn_SaaS_Release_Schedule) - Release Notes: [Release Notes](https://help.blackboard.com/Learn/Administrator/SaaS/Release_Notes) --- -## Student - -Anthology Student releases and docs are published through the Student Suite here: [Anthology Student Suite](https://help.anthology.com/Content/DocSets/CNSDocSet.htm) - ---- - -## Reach - -Anthology Release releases and docs are published through the Reach Suite here: [Anthology Reach Suite](https://help.campusmanagement.com/Content/DocSets/ENGDocSet.htm) - ---- - :::note Annotations \* critical outage: service is unavailable or operating outside of usable performance or functional parameters. diff --git a/docs/partners/become-a-partner.md b/docs/partners/become-a-partner.md index 6d6efab66..e9387d436 100644 --- a/docs/partners/become-a-partner.md +++ b/docs/partners/become-a-partner.md @@ -8,7 +8,7 @@ author: Mark Kauffman sidebar_position: 1 --- -Our Community partnership level is FREE to developers and provides access to the Learn AMI (Amazon Machine Images) for developers to build REST and LTI applications\*, API limits apply and Behind the Blackboard support is not included. [Community support is available](https://community.anthology.com). +Our Community partnership level is FREE to developers and provides access to the Learn AMI (Amazon Machine Images) for developers to build REST and LTI applications\*, API limits apply and Behind the Blackboard support is not included. [Community support is available](https://community.blackboard.com). Consider investing in one of our other partnership levels to receive added benefits that help partners deepen integrations, promote solutions, and connect with Blackboard clients. The Blackboard Developers Network (BbDN) is Blackboard’s standard partnership and is available for $3,000 annually. BbDN Partnerships include the following benefits: @@ -18,7 +18,7 @@ Consider investing in one of our other partnership levels to receive added benef - Custom listing in our [Partner Directory](https://www.blackboard.com/partnerships/partners/directory) - Listing in our [Blackboard App Catalog](https://appcatalog.blackboard.com/) - Use of Blackboard Licensed Marks in marketing materials (subject to approval) -- Eligible to sponsor exhibit at [Anthology Together](https://www.anthology.com/together?utm_campaign=Global_2022_Cross_Event_UserConference_SaveTheDate_PMB_Unopened&utm_medium=email&utm_source=Eloqua&utm_content=Global_2022_Cross_Event_UserConference_SaveTheDate_PMB_Unopened) and other Blackboard events. +- Eligible to sponsor exhibit our events. BbDN Partners also have the option to add-on of a “Learn SaaS Starter site” for $2,000 annually. Through a BbDN Learn SaaS Starter Site, you receive: @@ -33,4 +33,4 @@ Purchase your BbDN partnership [here for US Companies](https://shop.blackboard.c Blackboard Partnerships Team -\*REST is an acronym for REpresentational State Transfer and an architectural style for distributed hypermedia systems. Learn has a complete suite of APIs based on this standard. See [developer.anthology.com](https://developer.anthology.com). LTI is an industry standard developed by the IMS. Learn supports LTI 1.1 and LTI 1.3 Advantage. See www.imsglobal.org/activity/learning-tools-interoperability +\*REST is an acronym for REpresentational State Transfer and an architectural style for distributed hypermedia systems. Learn has a complete suite of APIs based on this standard. See [developer.blackboard.com](https://developer.blackboard.com). LTI is an industry standard developed by the IMS. Learn supports LTI 1.1 and LTI 1.3 Advantage. See www.imsglobal.org/activity/learning-tools-interoperability diff --git a/docs/student/best-practices/AccountStatuses.md b/docs/student/best-practices/AccountStatuses.md index e33a311a6..c70cdcf48 100644 --- a/docs/student/best-practices/AccountStatuses.md +++ b/docs/student/best-practices/AccountStatuses.md @@ -7,7 +7,7 @@ published: "" edited: "" --- -There is capability within Anthology Student to associate one or more account statuses with a student enrollment period record. This makes it possible for an institution to perform various actions on groups of students based on the account status values associated. Many times, the assignment of an account status will be triggered by an action that occurs or a specific data point. For example, an account status of "Delinquent" may be associated with a student who has one or more expected installments for a payment plan that have not been received but have a due date in the past. In many cases, managing the account statuses for students is a key use case that needs to be accomplished within an overall integration project. This document will cover the details for how to effectively manage account statuses for students utilizing the available API endpoints. +There is capability within Student (Ellucian) to associate one or more account statuses with a student enrollment period record. This makes it possible for an institution to perform various actions on groups of students based on the account status values associated. Many times, the assignment of an account status will be triggered by an action that occurs or a specific data point. For example, an account status of "Delinquent" may be associated with a student who has one or more expected installments for a payment plan that have not been received but have a due date in the past. In many cases, managing the account statuses for students is a key use case that needs to be accomplished within an overall integration project. This document will cover the details for how to effectively manage account statuses for students utilizing the available API endpoints. ## Data model notes @@ -21,7 +21,7 @@ The IsActive property specifies if the record is active. If this value is 0, th The API to use for managing account statuses associated to an enrollment is api/commands/StudentAccounts/StudentAccountTransaction/updateStudentAccountStatus . -To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Anthology Student web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area dropdown filters at the top of the swagger page to access the documentation. To access this API endpoint, select 'Student Accounts' for Domain and 'Ledger Card' for Functional Area and then select Refresh. Find the StudentAccountTransaction entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity will be displayed. The api/commands/StudentAccountTransaction/updateStudentAccountStatus will be one of the endpoints in the displayed list. +To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Student (Ellucian) web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area dropdown filters at the top of the swagger page to access the documentation. To access this API endpoint, select 'Student Accounts' for Domain and 'Ledger Card' for Functional Area and then select Refresh. Find the StudentAccountTransaction entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity will be displayed. The api/commands/StudentAccountTransaction/updateStudentAccountStatus will be one of the endpoints in the displayed list. ![AccountStatuses](/assets/img/AccountStatuses1.png) @@ -36,7 +36,7 @@ An enrollment period can have multiple account statuses associated. The logic w ### Determining the StudentEnrollmentPeriodId -If you do not have the correct value for the StudentEnrollmentPeriodId property, then this can be determined using one of two approaches. The prerequisite to using either of these approaches is that you must have the StudentId of the student that the account statuses are being updated for. The first approach is to use an available API endpoint that will take the StudentId as an input parameter and return the StudentEnrollmentPeriodId of the "current" enrollment. Anthology Student has built in logic that uses the school status and enrollment date for enrollment period records for a student to determine the "current" enrollment. This option works well if it is uncommon for a student to have more than one enrollment record that has an Active school status at any given point in time. The endpoint that returns the current enrollment is ds/campusnexus/Students/CampusNexus.GetCurrentEnrollmentByStudentId. To find this in Swagger, select 'Common' as the Domain and 'Students' as the Functional Area and then click Refresh. +If you do not have the correct value for the StudentEnrollmentPeriodId property, then this can be determined using one of two approaches. The prerequisite to using either of these approaches is that you must have the StudentId of the student that the account statuses are being updated for. The first approach is to use an available API endpoint that will take the StudentId as an input parameter and return the StudentEnrollmentPeriodId of the "current" enrollment. Student (Ellucian) has built in logic that uses the school status and enrollment date for enrollment period records for a student to determine the "current" enrollment. This option works well if it is uncommon for a student to have more than one enrollment record that has an Active school status at any given point in time. The endpoint that returns the current enrollment is ds/campusnexus/Students/CampusNexus.GetCurrentEnrollmentByStudentId. To find this in Swagger, select 'Common' as the Domain and 'Students' as the Functional Area and then click Refresh. ![AccountStatuses](/assets/img/AccountStatuses2.png) @@ -50,4 +50,4 @@ In order to execute the APIs that have been discussed above, proper authorizatio ## Conclusion -There can likely be additional nuances/details around utilizing this API that are not covered within this document. If there are any questions after reviewing this document, you can submit them by sending an email to developers@anthology.com. +There can likely be additional nuances/details around utilizing this API that are not covered within this document. If there are any questions after reviewing this document, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/DeterminingAccountBalances.md b/docs/student/best-practices/DeterminingAccountBalances.md index 73517b6d6..f74d989e1 100644 --- a/docs/student/best-practices/DeterminingAccountBalances.md +++ b/docs/student/best-practices/DeterminingAccountBalances.md @@ -7,7 +7,7 @@ published: "" edited: "" --- -One of the common use cases for integrators is to determine an account balance for a student. There are several different types of balances that may need to be retrieved. There are overall balances such as overall account balance for the student and an overall balance for a specific enrollment record for a student. There is also a balance for a subsidiary ledger for a student. And finally, there are use cases where an account balance for a specific term for a student needs to be determined. This document will cover these use cases and provide the details on how to return/calculate these balances using the Anthology data model. +One of the common use cases for integrators is to determine an account balance for a student. There are several different types of balances that may need to be retrieved. There are overall balances such as overall account balance for the student and an overall balance for a specific enrollment record for a student. There is also a balance for a subsidiary ledger for a student. And finally, there are use cases where an account balance for a specific term for a student needs to be determined. This document will cover these use cases and provide the details on how to return/calculate these balances using the Student (Ellucian) data model. For the use cases where an overall balance for a student, enrollment or subsidiary ledger is needed, a simple odata query can be used. If the requirement is to calculate a balance for a given term, then the logic will be more complex and potentially require multiple odata queries with additional calculations needed on the returned data. @@ -19,13 +19,13 @@ The overall account balance for a student enrollment period is stored on the stu ## Account Balance for a Subsidiary Ledger -Subsidiary Ledgers is a feature in Anthology Student that allows for separate ledgers to be created that are isolated from the transactions posted to a student's main ledger card. Student Subsidiary ledgers are associated at the StudentEnrollmentPeriod entity level. The entity that stores the ledgers being tracked for students is StudentSubsidiaryAccount. If you want to see all subsidiary ledgers for a given student you can use the SubsisiaryAccount navigation property on the StudentEnrollmentPeriod entity: ds/odata/StudentEnrollmentPeriods?$expand=SubsidiaryAccount +Subsidiary Ledgers is a feature in Student (Ellucian) that allows for separate ledgers to be created that are isolated from the transactions posted to a student's main ledger card. Student Subsidiary ledgers are associated at the StudentEnrollmentPeriod entity level. The entity that stores the ledgers being tracked for students is StudentSubsidiaryAccount. If you want to see all subsidiary ledgers for a given student you can use the SubsisiaryAccount navigation property on the StudentEnrollmentPeriod entity: ds/odata/StudentEnrollmentPeriods?$expand=SubsidiaryAccount Once the subsidiary ledger you need the balance for is identified, you just need to retrieve the value in the AccountBalance property on the StudentSubsidiaryAccount record. ## Account Balance for a term -Account Balances for specific terms are not persisted anywhere in the Anthology Student data model and will need to be calculated. At a high level, the calculation logic will need to isolate transactions for the specific term the balance is being calculated for and then sum the debits/credits in order to derive the balance. The logic needed for this will vary depending on how the client is utilizing the Apply Payments feature. There are configuration options that specify if payments will be auto applied to charges when posted, the effective date of the auto apply logic, details on the order of how payments are applied etc. At a high level, there are 2 key configuration data points that must be determined in order to decide the best logic to use for calculating the term balance. The first is to determine if payments are being auto applied. This is a campus specific setting. When set to auto apply, any payment or credit adjustment transaction that is posted will be automatically applied to charge transactions using the Credits Apply Order configuration. If not set to auto apply, then each payment transaction and credit adjustment transaction will have to be manually applied by the user. If this is not done, then the apply payment details will not exist for a given payment/credit adjustment transaction. Navigate to Settings - Campuses - Student Accounts to see this setting. +Account Balances for specific terms are not persisted anywhere in the Student (Ellucian) data model and will need to be calculated. At a high level, the calculation logic will need to isolate transactions for the specific term the balance is being calculated for and then sum the debits/credits in order to derive the balance. The logic needed for this will vary depending on how the client is utilizing the Apply Payments feature. There are configuration options that specify if payments will be auto applied to charges when posted, the effective date of the auto apply logic, details on the order of how payments are applied etc. At a high level, there are 2 key configuration data points that must be determined in order to decide the best logic to use for calculating the term balance. The first is to determine if payments are being auto applied. This is a campus specific setting. When set to auto apply, any payment or credit adjustment transaction that is posted will be automatically applied to charge transactions using the Credits Apply Order configuration. If not set to auto apply, then each payment transaction and credit adjustment transaction will have to be manually applied by the user. If this is not done, then the apply payment details will not exist for a given payment/credit adjustment transaction. Navigate to Settings - Campuses - Student Accounts to see this setting. ![AccountBalances](/assets/img/AccountBalances1.png) @@ -73,4 +73,4 @@ For the queries discussed in this document, the minimum authorization for the au As can be the case, there may be additional nuances for how to calculate account balances that best match up to the use case at hand that are not covered within this document. -If there are questions after reviewing this document, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/ManageClassSections.md b/docs/student/best-practices/ManageClassSections.md index ec39d1a32..c7adf2e32 100644 --- a/docs/student/best-practices/ManageClassSections.md +++ b/docs/student/best-practices/ManageClassSections.md @@ -7,7 +7,7 @@ published: "" edited: "" --- -Creating and managing class sections is a fundamental requirement for the Academics domain within Anthology Student. Several different use scenarios exist whereby external applications have a need to create and update data for a class section. This data can be the class section data itself or peripheral data such as class section meeting schedules, instructor assignments to a class section, meeting location data, cross referenced class sections etc. This document will outline the various APIs available within Anthology Student that can be utilized to manage class section data. +Creating and managing class sections is a fundamental requirement for the Academics domain within Student (Ellucian). Several different use scenarios exist whereby external applications have a need to create and update data for a class section. This data can be the class section data itself or peripheral data such as class section meeting schedules, instructor assignments to a class section, meeting location data, cross referenced class sections etc. This document will outline the various APIs available within Student (Ellucian) that can be utilized to manage class section data. This document will cover the following endpoints: @@ -45,7 +45,7 @@ ClassSectionMeetingDate - this entity stores 1 row for each meeting instance for ## Swagger documentation -To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Anthology Student web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access the API endpoints mentioned above, select 'Academics' for Domain and 'Class Section Scheduling' for Functional Area and then select Refresh. Find the ClassSection, ClassSectionMeetingDate and CrossListClassSection entities in the displayed list of entities and then click the lightning bolt icon. The list of APIs for each of these entities will be listed. Find the applicable API operation in the displayed list. +To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Student (Ellucian) web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access the API endpoints mentioned above, select 'Academics' for Domain and 'Class Section Scheduling' for Functional Area and then select Refresh. Find the ClassSection, ClassSectionMeetingDate and CrossListClassSection entities in the displayed list of entities and then click the lightning bolt icon. The list of APIs for each of these entities will be listed. Find the applicable API operation in the displayed list. ![ManageClassSections](/assets/img/ManageClassSections1.png) @@ -108,7 +108,7 @@ api/commands/Academics/ClassSection/SaveClassSectionPeriods This endpoint should be used for updating any aspect of the meeting schedule for the class section. The request payload includes some complex type properties. Details of how this payload should be populated are below. -- IsContactHoursConfirmed - set this property to 1 if you want to override validation done on total contact hours scheduled for the class section. There is capability in Anthology Student to require the total daily meeting schedule for a class section to equal the expected contact hours total for the course the class section is for. If set to 0 and there is a conflict found, then a validation message will be returned. +- IsContactHoursConfirmed - set this property to 1 if you want to override validation done on total contact hours scheduled for the class section. There is capability in Student (Ellucian) to require the total daily meeting schedule for a class section to equal the expected contact hours total for the course the class section is for. If set to 0 and there is a conflict found, then a validation message will be returned. - IsRequireLDAConfirmed - this property does not impact execution logic within the API. However, if set to 0 and you are updating a meeting schedule for a class section AND at least 1 day of attendance has been posted for a scheduled meeting date, a validation message of type Warning will be returned in the response. It is recommended that you populate this with 1 so that the warning message will not be included in the response so as to not cause any unnecessary confusion. @@ -251,4 +251,4 @@ In order to be able to execute the API endpoints covered in this document, the u As is usually the case, there may be additional nuances for how to properly formulate the request for these APIs in order for them to produce the desired result that are not covered within this document. -If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/ManageCustomFields.md b/docs/student/best-practices/ManageCustomFields.md index 76b3efb02..461ece795 100644 --- a/docs/student/best-practices/ManageCustomFields.md +++ b/docs/student/best-practices/ManageCustomFields.md @@ -7,19 +7,19 @@ published: "" edited: "" --- -Creating custom fields for additional data capture is a key capability within the Anthology Student application. This capability was introduced many years ago and has evolved over time. The result is that there are three different implementations for configuring and managing data for custom fields in the application currently. The details for how to manage data for custom fields via APIs will depend on the specific entity that the custom fields are for. This document will outline each of the three implementations and identify which entities belong to each. Additionally, details on how to retrieve data as well as update data for custom fields will be covered. +Creating custom fields for additional data capture is a key capability within the Student (Ellucian) application. This capability was introduced many years ago and has evolved over time. The result is that there are three different implementations for configuring and managing data for custom fields in the application currently. The details for how to manage data for custom fields via APIs will depend on the specific entity that the custom fields are for. This document will outline each of the three implementations and identify which entities belong to each. Additionally, details on how to retrieve data as well as update data for custom fields will be covered. ## School Defined Fields -The original implementation of custom fields in Anthology Student is referred to as "School Defined Fields" or "School Fields". This implementation allows for any number of custom fields to be configured for the Student entity. Although not explicitly called out in configuration of School Defined Fields, the association of data for these fields will be on the Id property in the Student entity. The configuration includes the ability to specify which modules/domains a given field is visible in. To see additional details regarding this feature including how to configure, refer to Help which is accessible via the question mark icon on the top right portion of the toolbar in the web client UI. +The original implementation of custom fields in Student (Ellucian) is referred to as "School Defined Fields" or "School Fields". This implementation allows for any number of custom fields to be configured for the Student entity. Although not explicitly called out in configuration of School Defined Fields, the association of data for these fields will be on the Id property in the Student entity. The configuration includes the ability to specify which modules/domains a given field is visible in. To see additional details regarding this feature including how to configure, refer to Help which is accessible via the question mark icon on the top right portion of the toolbar in the web client UI. ![ManageCustomFields](/assets/img/ManageCustomFields1.png) There is no API that has a single responsibility of managing data for School Defined Fields. The endpoints you will need to use for updating data for School Defined Fields are api/commands/Common/Student/SaveNew and api/commands/Common/Student/Save. The SaveNew operation is used when creating a new student record and the Save operation is used when updating an existing Student record. For additioal details on using the Save and SaveNew operations please refer to: -[Tips for using Get and Save API Operations](https://docs.anthology.com/docs/student/best-practices/get-save-bestpractices) +[Tips for using Get and Save API Operations](https://docs.blackboard.com/docs/student/best-practices/get-save-bestpractices) -[Tips for using Create and SaveNew API Operations](https://docs.anthology.com/docs/student/best-practices/create-savenew-bestpractices) +[Tips for using Create and SaveNew API Operations](https://docs.blackboard.com/docs/student/best-practices/create-savenew-bestpractices) The vast majority of use cases will be to update school defined fields data for an existing student. The remainder of this section will use the Save operation as an example. The first step will be to retrieve the instance of the Student record that school defined fields data is being updated for. Execute the api/commands/Common/Student/Get operation. Existing data for the school defined fields for the student will be in the CustomProperties and/or MultiValueCustomProperties properties in the response. If a school defined field has been configured to allow multiple values to be specified, then the values for this school defined field will be contained in the MultiValueCustomProperties property. For single value custom properties (majority of school defined fields), the data will reside in the CustomProperties property. These properties are defined as a collection of key/value pairs. The only difference is that the value for the MultiValueCustomProperties is of type ICollection`` whereas the value type for the CustomProperties collection is string. The key contains the Code value for the configured school defined field. This value must match exactly to the Code value for the school defined field in order to be correctly updated (see screenshot below). @@ -118,4 +118,4 @@ There is capability for securing configured extended properties on an individual As can be the case, there may be additional nuances for how to properly manage extended property data to address a client's specific use cases that are not covered within this document. -If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/ManageEnrollmentAreasOfStudy.md b/docs/student/best-practices/ManageEnrollmentAreasOfStudy.md index df7c3a99e..89eed973c 100644 --- a/docs/student/best-practices/ManageEnrollmentAreasOfStudy.md +++ b/docs/student/best-practices/ManageEnrollmentAreasOfStudy.md @@ -7,7 +7,7 @@ published: "" edited: "" --- -One of the key data points for a student enrollment period record in Anthology Student are the area of studies that are associated to the enrollment record. Every student enrollment period record must be enrolled in a program version. However, in many instances additional areas of study are added which bring additional requirements for the student in order to fully complete and graduate from their enrollment. It is common for students to modify associated areas of study during initial enrollment creation as well as after the enrollment record has been created. This document will cover the details of how to manage associated areas of study to an enrollment record using the available command APIs. Two API endpoints will be referenced in this document. The first is the API that is used to create a new student enrollment period record - api/commands/Academics/StudentEnrollmentPeriod/enrollStudent. The second is an API that can be used to modify the list of associated Areas of Study to an existing student enrollment period record - api/commands/Academics/updateStudentEnrollmentAreaOfStudy. +One of the key data points for a student enrollment period record in Student (Ellucian) are the area of studies that are associated to the enrollment record. Every student enrollment period record must be enrolled in a program version. However, in many instances additional areas of study are added which bring additional requirements for the student in order to fully complete and graduate from their enrollment. It is common for students to modify associated areas of study during initial enrollment creation as well as after the enrollment record has been created. This document will cover the details of how to manage associated areas of study to an enrollment record using the available command APIs. Two API endpoints will be referenced in this document. The first is the API that is used to create a new student enrollment period record - api/commands/Academics/StudentEnrollmentPeriod/enrollStudent. The second is an API that can be used to modify the list of associated Areas of Study to an existing student enrollment period record - api/commands/Academics/updateStudentEnrollmentAreaOfStudy. ## Data model notes @@ -19,7 +19,7 @@ ProgramVersionAreaOfStudy - this entity stores the list of Areas of Study that a ## Swagger documentation -To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Anthology Student web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access the API endpoints mentioned above, select 'Academics' for Domain and 'Student Enrollment' for Functional Area and then select Refresh. Find the StudentEnrollmentPeriod entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity will be listed. You will see enrollStudent and updateStudentEnrollmentAreaOfStudy in the displayed list of operations. +To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Student (Ellucian) web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access the API endpoints mentioned above, select 'Academics' for Domain and 'Student Enrollment' for Functional Area and then select Refresh. Find the StudentEnrollmentPeriod entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity will be listed. You will see enrollStudent and updateStudentEnrollmentAreaOfStudy in the displayed list of operations. ![ManageEnrollmentAreasOfStudy](/assets/img/ManageEnrollmentAreasOfStudy1.png) @@ -85,4 +85,4 @@ In order to be able to execute these API endpoints, the user that the API call i As is usually the case, there may be additional nuances for how to properly formulate the request for these APIs in order for them to produce the desired result that are not covered within this document. -If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/PaymentReversalUsingAPI.md b/docs/student/best-practices/PaymentReversalUsingAPI.md index c6e1b148d..3d28adcb1 100644 --- a/docs/student/best-practices/PaymentReversalUsingAPI.md +++ b/docs/student/best-practices/PaymentReversalUsingAPI.md @@ -7,7 +7,7 @@ published: "" edited: "" --- -A common use case for integrators is the need to reverse a payment received. Alternative terminology for a payment reversal can be to void the payment, refund the entire payment or refund a portion of the payment that was received. The correct way to handle via the Anthology Student APIs will depend on the specific use case/requirement the integrator needs to achieve. The two APIs that will be covered within this document are api/commands/StudentAccounts/StudentAccountTransaction/voidAccountTransactionPayment and api/student-accounting/ledger-refund-transactions. The voidAccountTransactionPayment API can be used ONLY if the entire payment is being reversed. The ledger-refund-transactions can be used for full or partial payment reversals. Details of using each of these APIs are outlined below. +A common use case for integrators is the need to reverse a payment received. Alternative terminology for a payment reversal can be to void the payment, refund the entire payment or refund a portion of the payment that was received. The correct way to handle via the Student (Ellucian) APIs will depend on the specific use case/requirement the integrator needs to achieve. The two APIs that will be covered within this document are api/commands/StudentAccounts/StudentAccountTransaction/voidAccountTransactionPayment and api/student-accounting/ledger-refund-transactions. The voidAccountTransactionPayment API can be used ONLY if the entire payment is being reversed. The ledger-refund-transactions can be used for full or partial payment reversals. Details of using each of these APIs are outlined below. ## api/commands/StudentAccounts/StudentAccountTransaction/voidAccountTransactionPayment @@ -16,7 +16,7 @@ This API should be used for the use case where a payment that was received is be The request payload for this endpoint is quite small and simple to work with. However, a few important notes need to be made. First is that there is a StudentSubsidiaryAccountTransactionId property defined in the request. This should be completely ignored. This endpoint can ONLY be used for voiding a payment transaction on the main ledger card. If the use case is to void a payment transaction on a subsidiary ledger, then a different API needs to be used: (api/commands/StudentAccounts/StudentSubsidiaryAccountTransaction/voidSubsidiaryAccountPayment). The remainder of the request needs to be populated as follows: -- StudentAccountTransactionId - set to the Id value of the payment transaction that is being voided. This property is required and must reference a transaction that is a payment and has not previously been voided. NOTE: If Anthology Student is integrated with the Anthology Finance application AND the payment transaction has already been reconciled within the Bank Reconciliation feature within the Finance application, then the payment transaction will not be allowed to be voided and a validation message will be returned. +- StudentAccountTransactionId - set to the Id value of the payment transaction that is being voided. This property is required and must reference a transaction that is a payment and has not previously been voided. NOTE: If Student (Ellucian) is integrated with the Anthology Finance (Ellucian) application AND the payment transaction has already been reconciled within the Bank Reconciliation feature within the Finance application, then the payment transaction will not be allowed to be voided and a validation message will be returned. - StudentId - set to the StudentId value on the StudentAccountTransaction row that is being voided @@ -62,4 +62,4 @@ In order for the user to execute the ledger-refund-transactions API, the user mu ## Conclusion -There can likely be additional nuances/details around utilizing the these APIs that are not covered within this document. If there are any questions after reviewing this document, you can submit them by sending an email to developers@anthology.com. +There can likely be additional nuances/details around utilizing the these APIs that are not covered within this document. If there are any questions after reviewing this document, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/PaymentVendorPartnerOverview.md b/docs/student/best-practices/PaymentVendorPartnerOverview.md index c2b691a30..deb1f6561 100644 --- a/docs/student/best-practices/PaymentVendorPartnerOverview.md +++ b/docs/student/best-practices/PaymentVendorPartnerOverview.md @@ -7,11 +7,11 @@ published: "" edited: "" --- -The Anthology Student API library has a number of APIs that are designed to support the most common use cases for facilitating an integration between a payment provider and the Anthology student application. The purpose of this document is to provided the details needed for a payment provider to build an integration with the Anthology Student product that supports the base use cases that are common for most payment providers. These common use cases will be discussed below providing details in how to implement utilizing the Anthology Student APIs. An additional section on authorization permissions that are required for executing the APIs will also be included. +The Student (Ellucian) API library has a number of APIs that are designed to support the most common use cases for facilitating an integration between a payment provider and the Student (Ellucian) application. The purpose of this document is to provided the details needed for a payment provider to build an integration with the Student (Ellucian) product that supports the base use cases that are common for most payment providers. These common use cases will be discussed below providing details in how to implement utilizing the Student (Ellucian) APIs. An additional section on authorization permissions that are required for executing the APIs will also be included. ## Common Payment vendor use cases -Common integration use cases between a payment vendor and Anthology Student are: +Common integration use cases between a payment vendor and Student (Ellucian) are: - Post Payments - Post Charges and Adjustments @@ -31,7 +31,7 @@ To see additional details for the APIs within Student, access the Swagger output ### Post Payment -The most basic use case for an integration between a payment provider and Anthology Student is to be able to process a payment within the payment vendor application and then post that payment to the student's ledger card within Anthology Student. At a high level, there are two different kinds of payments within the Student application. The first is a payment that is not associated with expected funding and the second is a payment that is associated to an expected disbursement. One of the features in Student is the ability to package a student for Financial Aid which results in a list of scheduled disbursements being created. Included in this are Student payment plans. A student payment plan will have 1 or more expected payments/installments created as part of the payment plan data. When posting a payment that is made against a payment plan, the payment will be associated with the expected disbursement record. Regardless of whether the payment being posted is for an expected disbursement or is not associated to an expected disbursement, the same API endpoint will be used. There are properies in the request payload that informs the API if the payment being posted is associated to an expected disbursement record or is not associated to an expected disbursement record. +The most basic use case for an integration between a payment provider and Student (Ellucian) is to be able to process a payment within the payment vendor application and then post that payment to the student's ledger card within Student (Ellucian). At a high level, there are two different kinds of payments within the Student application. The first is a payment that is not associated with expected funding and the second is a payment that is associated to an expected disbursement. One of the features in Student is the ability to package a student for Financial Aid which results in a list of scheduled disbursements being created. Included in this are Student payment plans. A student payment plan will have 1 or more expected payments/installments created as part of the payment plan data. When posting a payment that is made against a payment plan, the payment will be associated with the expected disbursement record. Regardless of whether the payment being posted is for an expected disbursement or is not associated to an expected disbursement, the same API endpoint will be used. There are properies in the request payload that informs the API if the payment being posted is associated to an expected disbursement record or is not associated to an expected disbursement record. The API to use for posting payments is POST api/student-accounting/ledger-payment-transactions @@ -72,7 +72,7 @@ The above auto adjust logic will execute as part of the post payment transaction #### Cashiering -If the school is using the Cashiering feature in Anthology Student, then a couple of additional properties in the request payload will be required. The Cashiering feature is enabled by campus. To see if cashiering is enabled for a given campus, navigate to Settings - System - Campuses. Select the campus you want to check. Choose the Student Accounts tile. The setting will be on the General tab. +If the school is using the Cashiering feature in Student (Ellucian), then a couple of additional properties in the request payload will be required. The Cashiering feature is enabled by campus. To see if cashiering is enabled for a given campus, navigate to Settings - System - Campuses. Select the campus you want to check. Choose the Student Accounts tile. The setting will be on the General tab. ![PaymentVendorPartnerOverview](/assets/img/PaymentVendorPartnerOverview5.png) @@ -90,7 +90,7 @@ The minimum required properties for this payload are StudentId, BillingTransacti ### Apply Posted Payments -The apply payments endpoint is used when there is a need to explicitly specify which charge/adjustment transactions a given payment transaction will be applied to. Anthology has a feature that allows for payments to be automatically applied to charge and adjustment transactions using the auto apply configuration. If all of the institution's requirements for how payments should be applied to charges are satisfied via the configuration, then this endpoint is not needed. However, if there are cases, where the rules for how to apply payments are not fully covered via the auto payment apply configuration OR the setting to auto apply payments is turned off, then there may be a need to utilize this endpoint. If/how this endpoint is utilized will need to be clarified with the institution being worked with. +The apply payments endpoint is used when there is a need to explicitly specify which charge/adjustment transactions a given payment transaction will be applied to. Student (Ellucian) has a feature that allows for payments to be automatically applied to charge and adjustment transactions using the auto apply configuration. If all of the institution's requirements for how payments should be applied to charges are satisfied via the configuration, then this endpoint is not needed. However, if there are cases, where the rules for how to apply payments are not fully covered via the auto payment apply configuration OR the setting to auto apply payments is turned off, then there may be a need to utilize this endpoint. If/how this endpoint is utilized will need to be clarified with the institution being worked with. The API to use for applying payments is POST api/student-accounting/ledger-transactions-applypayments @@ -139,19 +139,19 @@ The response returned will be a collection having one element for each element t ### Create a payment plan -Another common use case for Payment providers is to create and manage payment plans for Students. If the payment plan data is persisted in the Payment provider data store, then the Payment Provider application will be considered the system of record for student payment plan data. Because there are numerous reports and other processes in Student that have a dependency on ALL expected funding to be represented for a student, it is imperative that the payment plan data stored in Anthology Student is kept in synch with the payment plan data in the Payment Provider software. The create payment plan and update existing payment plan APIs will be used for this purpose. +Another common use case for Payment providers is to create and manage payment plans for Students. If the payment plan data is persisted in the Payment provider data store, then the Payment Provider application will be considered the system of record for student payment plan data. Because there are numerous reports and other processes in Student that have a dependency on ALL expected funding to be represented for a student, it is imperative that the payment plan data stored in Student (Ellucian) is kept in synch with the payment plan data in the Payment Provider software. The create payment plan and update existing payment plan APIs will be used for this purpose. -The API to use for creating a new payment plan in Anthology Student is POST api/student-accounting/student-payment-plan +The API to use for creating a new payment plan in Student (Ellucian) is POST api/student-accounting/student-payment-plan ![PaymentVendorPartnerOverview](/assets/img/PaymentVendorPartnerOverview9.png) -Payment Plans can be interest bearing or non-interest bearing plans in Anthology Student. Several properties in the request payload can be ignored for non-interest bearing payment plans. The request payload needed should be able to be created fairly easily by using the property level documentation found in the swagger output. +Payment Plans can be interest bearing or non-interest bearing plans in Student (Ellucian). Several properties in the request payload can be ignored for non-interest bearing payment plans. The request payload needed should be able to be created fairly easily by using the property level documentation found in the swagger output. ### Update an existing payment plan -This API will be used to ensure existing payment plans are kept in sync between the Payment provider application and Anthology Student. A very common use case is when a student makes an installment payment but the amount of the payment does not match the amount of the expected installment. In these cases, the remainder of the expected payment schedule needs to be adjusted. Assuming the Payment Provider application is the system of record, this adjustment would occur in the Payment provider application. The resulting data would then be pushed into Anthology Student using the API to update an existing payment plan. +This API will be used to ensure existing payment plans are kept in sync between the Payment provider application and Student (Ellucian). A very common use case is when a student makes an installment payment but the amount of the payment does not match the amount of the expected installment. In these cases, the remainder of the expected payment schedule needs to be adjusted. Assuming the Payment Provider application is the system of record, this adjustment would occur in the Payment provider application. The resulting data would then be pushed into Student (Ellucian) using the API to update an existing payment plan. -The API to use for updating an existing payment plan in Anthology Student is PATCH api/student-accounting/student-payment-plan +The API to use for updating an existing payment plan in Student (Ellucian) is PATCH api/student-accounting/student-payment-plan ![PaymentVendorPartnerOverview](/assets/img/PaymentVendorPartnerOverview10.png) @@ -159,7 +159,7 @@ One of the key capabilities with this API is to be able to remove ALL expected p ### Post misc cash receipts -Another common use case is the need to post transactions in Anthology Student that will not appear on an individual student's ledger card. These transactions are labeled in Anthology Student as miscellaneous cash receipts. +Another common use case is the need to post transactions in Student (Ellucian) that will not appear on an individual student's ledger card. These transactions are labeled in Student (Ellucian) as miscellaneous cash receipts. The API to use for posting a miscellaneous cash receipt is POST api/student-accounting/misc-cash-receipts @@ -171,7 +171,7 @@ There is also a PATCH endpoint that allows for updating a previously posted misc ## Authorization -In order to execute the APIs that have been discussed above, proper authorization needs to be configured. Whether using Basic Auth or OAuth with application key to authenticate, the user context the APIs are executing under will be a user record from the Staff entity. This is the user that authorization needs to be configured for. Access to the security console application is needed in order to set the needed permissions. Unlike the Anthology Student command APIs, the API endpoints discussed above have separate explicit tasks that need to be authorized. The Anthology Student command APIs are coupled with UI tasks. In order to properly authorize an API user to execute a command API, the applicable UI task needs to be identified and added for that user. For the APIs discussed in this document that exercise is not needed. Details are outlined below. +In order to execute the APIs that have been discussed above, proper authorization needs to be configured. Whether using Basic Auth or OAuth with application key to authenticate, the user context the APIs are executing under will be a user record from the Staff entity. This is the user that authorization needs to be configured for. Access to the security console application is needed in order to set the needed permissions. Unlike the Student (Ellucian) command APIs, the API endpoints discussed above have separate explicit tasks that need to be authorized. The Student (Ellucian) command APIs are coupled with UI tasks. In order to properly authorize an API user to execute a command API, the applicable UI task needs to be identified and added for that user. For the APIs discussed in this document that exercise is not needed. Details are outlined below. Within the Security console, the API - Student Accounting and API - Student Payment Plan tasks should be added for the user. These 2 tasks will authorize the user to execute every operation contained within the Student Accounting and Student Payment Plan sections within the swagger document. If more refined permissions are needed and you want to authorize the execution of specific operations with Student Accounting or Student Payment Plan, then the applicable individual operations will need to be authorized. Typically, this level of granularity is not needed and authorizing the two tasks mentioned above is all that should be done. @@ -189,4 +189,4 @@ Once all query model operations for the list of entities are added for the user, ## Conclusion -The purpose of this document is to provide enough information to provide a Payment provider new to Anthology Student a jump start on building an integration that satisfy common integration requirements. This document is not intended to include all of the finer points and nuances for utilizing the APIs that have been covered. If there are questions after reviewing this document and the corresponding swagger documentation, you can submit any questions by sending an email to developers@anthology.com. +The purpose of this document is to provide enough information to provide a Payment provider new to Student (Ellucian) a jump start on building an integration that satisfy common integration requirements. This document is not intended to include all of the finer points and nuances for utilizing the APIs that have been covered. If there are questions after reviewing this document and the corresponding swagger documentation, you can submit any questions by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/PostUnscheduledPayments.md b/docs/student/best-practices/PostUnscheduledPayments.md index 948911b5b..1dc90e51c 100644 --- a/docs/student/best-practices/PostUnscheduledPayments.md +++ b/docs/student/best-practices/PostUnscheduledPayments.md @@ -15,7 +15,7 @@ The endpoint to use for posting unscheduled payments is api/commands/StudentAcco ### Swagger documentation -To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Anthology Student web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access this API endpoint, select 'Student Accounts' for Domain and 'Ledger Card' for Functional Area and then select Refresh. Find the StudentAccountTransaction entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity be listed including the PostAccountTransactionPayment operation. +To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Student (Ellucian) web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access this API endpoint, select 'Student Accounts' for Domain and 'Ledger Card' for Functional Area and then select Refresh. Find the StudentAccountTransaction entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity be listed including the PostAccountTransactionPayment operation. ![PostUnscheduledPayments](/assets/img/PostUnscheduledPayments1.png) @@ -23,7 +23,7 @@ To access the Swagger documentation, append 'swagger' to the end of the base URI This PostAccountTransactionPayment operation allows for posting a scheduled payment, adhoc payment and an unscheduled payment. The details for how to populate the request will be provided for posting an unscheduled payment. If the need is to post a scheduled payment or an adhoc payment, then it is recommended to use a different API endpoint. That endpoint is api/student-accounting/ledger-payment-transactions. Details for how to use this API can be found in the Payment Partner Overview article. -[Payment Partner Overview](https://docs.anthology.com/docs/student/best-practices/studentapi-paymentpartner-overview) +[Payment Partner Overview](https://docs.blackboard.com/docs/student/best-practices/studentapi-paymentpartner-overview) ### API request details @@ -79,4 +79,4 @@ In order to execute this API, the authenticated user must be authorized to the S As can be the case, there may be additional nuances for how to properly leverage this API to address a client's specific use cases that are not covered within this document. -If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/RefundAmountValidation.md b/docs/student/best-practices/RefundAmountValidation.md index 7d1ae1c9e..85d627766 100644 --- a/docs/student/best-practices/RefundAmountValidation.md +++ b/docs/student/best-practices/RefundAmountValidation.md @@ -7,13 +7,13 @@ published: "" edited: "" --- -A common use case for integrators is to post a refund transaction to a student's ledger card. The refund transaction can be a full payment reversal, a partial refund of a particular payment or a refund due to the student withdrawing from school. A common validation message that is returned when attempting to post this refund is "Refund amount cannot exceed #####.##". This document will provide the details on the execution logic that is generating this validation message and steps for calculating the maximum amount that is allowed to be refunded from the Anthology Student data model. Understanding this logic will allow for the necessary corrective steps/actions to be taken to properly address the validation message being returned. +A common use case for integrators is to post a refund transaction to a student's ledger card. The refund transaction can be a full payment reversal, a partial refund of a particular payment or a refund due to the student withdrawing from school. A common validation message that is returned when attempting to post this refund is "Refund amount cannot exceed #####.##". This document will provide the details on the execution logic that is generating this validation message and steps for calculating the maximum amount that is allowed to be refunded from the Student (Ellucian) data model. Understanding this logic will allow for the necessary corrective steps/actions to be taken to properly address the validation message being returned. The API endpoint that is used to post an unscheduled refund is api/student-accounting/ledger-refund-transactions. This is the API where this validation message can be returned. ## Root cause of "Refund amount cannot exceed #####.##" validation message -Validation logic exists in Anthology Student that will not allow the net amount received for a given packaged student award to be less than 0. Additionally, the net amount received for all other payment/refund transactions that are not associated to a packaged award cannot be less than 0. Transactions not associated to a StudentAward record are grouped by the associated Academic Year Sequence. If the refund is being posted for a packaged award, then certain properties in the request must be populated. The StudentAwardId property in the request will hold the Id of the StudentAward record the refund is associated to. There is also a PaidDisbursementId property as well. If the StudentAwardId property is populated, then the PaidDisbursementId property is optional and can be used to specify the specific received disbursement that is being refunded. If a specific disbursement is referenced with the PaidDisbursementId property, then the refund amount cannot exceed the net amount received for that disbursement. +Validation logic exists in Student (Ellucian) that will not allow the net amount received for a given packaged student award to be less than 0. Additionally, the net amount received for all other payment/refund transactions that are not associated to a packaged award cannot be less than 0. Transactions not associated to a StudentAward record are grouped by the associated Academic Year Sequence. If the refund is being posted for a packaged award, then certain properties in the request must be populated. The StudentAwardId property in the request will hold the Id of the StudentAward record the refund is associated to. There is also a PaidDisbursementId property as well. If the StudentAwardId property is populated, then the PaidDisbursementId property is optional and can be used to specify the specific received disbursement that is being refunded. If a specific disbursement is referenced with the PaidDisbursementId property, then the refund amount cannot exceed the net amount received for that disbursement. If the refund being posted is not for a packaged award, then the StudentAwardId property will not be populated in the request. When this is the case, the validation logic will use the AcademicYearSequence provided in the request within the calculation to determine the net amount received. The net amount received calculation will include all relevant transactions that are NOT associated to a StudentAward AND have an AcademicYearSequence value that matches what is provided in the request. @@ -41,4 +41,4 @@ This column on the grid is the sum of processed stipends as well as scheduled st If the "Refund amount cannot exceed......" validation message is received and the refund that is being posted is NOT for a packaged student award record, then the most likely cause of this error is that the AcademicYearSequence property is not being set correctly in the request. As mentioned above, the amount allowed for posting for "Student" fund sources is calculated using the AcademicYearSequence as a grouping value. So if a payment was previously posted and was associated to AcademicYearSequence of 1 but the value in the Refund API payload for AcademicYearSequence is 0, then this validation message will be returned (assuming there are no other payment transactions associated to an AcademicYearSequence of 0). -If there are questions after reviewing this document, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/SaveStudentCourseFuture.md b/docs/student/best-practices/SaveStudentCourseFuture.md index 1f2a1da54..0cbccce46 100644 --- a/docs/student/best-practices/SaveStudentCourseFuture.md +++ b/docs/student/best-practices/SaveStudentCourseFuture.md @@ -13,7 +13,7 @@ The API endpoint that is used to add a future course for a student is api/comman ## Swagger documentation -To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Anthology Student web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access this API endpoint, select 'Academics' for Domain and 'Course Registration' for Functional Area and then select Refresh. Find the StudentCourse entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity will be listed. Find the SaveStudentCourse operation. +To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Student (Ellucian) web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation. To access this API endpoint, select 'Academics' for Domain and 'Course Registration' for Functional Area and then select Refresh. Find the StudentCourse entity in the displayed list of entities and then click the lightning bolt icon. The list of APIs for this entity will be listed. Find the SaveStudentCourse operation. ![SaveStudentCourseFuture](/assets/img/SaveStudentCourseFuture1.png) @@ -74,4 +74,4 @@ In order to execute this API, the authenticated user must be authorized to the A As can be the case, there may be additional nuances for how to properly leverage this API to address a client's specific use cases that are not covered within this document. -If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/SaveStudentTransferCredit .md b/docs/student/best-practices/SaveStudentTransferCredit .md index ba45e9be5..4988a5d64 100644 --- a/docs/student/best-practices/SaveStudentTransferCredit .md +++ b/docs/student/best-practices/SaveStudentTransferCredit .md @@ -7,11 +7,11 @@ published: '2024-06-26' edited: '2024-06-26' --- -A common use case for integrators is to persist data for courses completed at other institutions. There is capability in Anthology Student for a student to have course requirements satisfied with course work that has been completed at other institutions. The high level process is for a user to create a student transfer credit record which consists of the course(s) that have been completed at other institutions as well as the internal course(s) that the external course work will be satisfying. There are many cases where the process of articulating which external courses satisfy which internal courses is handled outside of the Anthology Student application boundary. In this case, it is critical to be able to persist this data into Anthology Student so that business processes that have dependencies on transfer credit data will operate as expected. The command API endpoint that is used for persisting this data is api/commands/Admissions/StudentTransferCredit/SaveStudentTransferCredit. This document will cover the pertinent details for being able to successfully leverage and execute this API. +A common use case for integrators is to persist data for courses completed at other institutions. There is capability in Student (Ellucian) for a student to have course requirements satisfied with course work that has been completed at other institutions. The high level process is for a user to create a student transfer credit record which consists of the course(s) that have been completed at other institutions as well as the internal course(s) that the external course work will be satisfying. There are many cases where the process of articulating which external courses satisfy which internal courses is handled outside of the Student (Ellucian) application boundary. In this case, it is critical to be able to persist this data into Student (Ellucian) so that business processes that have dependencies on transfer credit data will operate as expected. The command API endpoint that is used for persisting this data is api/commands/Admissions/StudentTransferCredit/SaveStudentTransferCredit. This document will cover the pertinent details for being able to successfully leverage and execute this API. ## Swagger documentation -To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Anthology Student web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation for the save transfer credit endpoint. Select 'Admissions' for Domain and 'Student Transfer Credit' for Functional Area and then select Refresh. Then click the lightning bolt icon to see the command API endpoints for the StudentTransferCredit entity. +To access the Swagger documentation, append 'swagger' to the end of the base URI that is used to launch the Student (Ellucian) web client application. Once the Swagger landing page is loaded, use the Domain and Functional Area drop down filters at the top of the swagger page to access the documentation for the save transfer credit endpoint. Select 'Admissions' for Domain and 'Student Transfer Credit' for Functional Area and then select Refresh. Then click the lightning bolt icon to see the command API endpoints for the StudentTransferCredit entity. ![Operations for Student entity](/assets/img/SaveStudentTransferCreditAPI1.png) ![Operations for Student entity](/assets/img/SaveStudentTransferCreditAPI2.png) @@ -24,7 +24,7 @@ When the list of available operations is displayed, select the SaveStudentTransf The high level data model for persisting transfer credit data consists of 3 main entities. The StudentTransferCredit entity is the header record for the transfer credit information. This entity will store the summary of the transfer credit record such as College or High School the external courses were completed at, overall status of the transfer credit record and the transfer credit type. This entity also includes 2 child entities as part of its definition. StudentTransferCreditMultipleExternalCourse is the entity that contains 1 or more rows for each course the student completed at the external institution. The StudentTransferCreditMultipleInternalCourse entity will contain 1 or more rows for the institution courses that the external courses are satisfying. You will see that these are defined as collection properties within the request payload. -- StudentTransferCreditExternalCourseList and StudentTransferCreditInternalCourseList. -You will see properties on the StudentTransferCredit entity that are deprecated and no longer used. The original implementation of the Student Transfer Credit feature in Anthology Student did not have child tables defined for recording external course work and the internal courses that the external course work was satisfying. Instead a row would exist in the StudentTransferCredit entity for each external course that was taken. For this reason, the following properties on the StudentTransferCredit entity can be ignored as they are no longer used: +You will see properties on the StudentTransferCredit entity that are deprecated and no longer used. The original implementation of the Student Transfer Credit feature in Student (Ellucian) did not have child tables defined for recording external course work and the internal courses that the external course work was satisfying. Instead a row would exist in the StudentTransferCredit entity for each external course that was taken. For this reason, the following properties on the StudentTransferCredit entity can be ignored as they are no longer used: - CollegeCourseId - CollegeId @@ -119,4 +119,4 @@ In order to be able to execute this API endpoint, the user that the API call is There are a number of properties in the request payload that are optional. The nuances of if/how to populate these will need to be determine via iterative testing and validation with the client. The sample request payload provided above can be used as a starting point but will likely need to be fine tuned in order to satisfy all requirements for recording student transfer credit data. -If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@anthology.com. +If there are questions after reviewing this document and the corresponding swagger documentation, you can submit them by sending an email to developers@blackboard.com. diff --git a/docs/student/best-practices/StudentQueryModelMetadata.md b/docs/student/best-practices/StudentQueryModelMetadata.md index 248d7151f..79664a8df 100644 --- a/docs/student/best-practices/StudentQueryModelMetadata.md +++ b/docs/student/best-practices/StudentQueryModelMetadata.md @@ -7,7 +7,7 @@ published: "2024-06-26" edited: "2024-06-26" --- -The student data model is comprised of hundreds and hundreds of entities. One of the fundamental requirements for integration partners is to be able to retrieve data out of the query model. There are numerous OData controller methods implemented that can be used to retrieve data. However, the purpose of these methods is to supply the needed data for the web client UI pages. Thus, the design and function of these methods are extremely prescribed. In most cases, when there is a need to retrieve data from Anthology Student, the solution will be to write a custom OData query using the ds/odata endpoint. To maximize the power of this capability, it is important to understand the query data model and specifically, the navigation properties available on each entity in the model. The Data Views feature in the Anthology Student web client is a very powerful tool and can be very helpful in gaining an increased understanding of the query data model. However, one of the limitations in this tool is that many navigation properties for entities are not visible. The only navigation properties that are exposed in the Data Views UI are ones that have a one to one multiplicity with the base entity. Navigation properties that have a one to many multiplicity are hidden from the UI. In order to see a complete inventory of all navigation properties available in the query model, you can use an endpoint that returns the complete metadata for the query model. +The student data model is comprised of hundreds and hundreds of entities. One of the fundamental requirements for integration partners is to be able to retrieve data out of the query model. There are numerous OData controller methods implemented that can be used to retrieve data. However, the purpose of these methods is to supply the needed data for the web client UI pages. Thus, the design and function of these methods are extremely prescribed. In most cases, when there is a need to retrieve data from Student (Ellucian), the solution will be to write a custom OData query using the ds/odata endpoint. To maximize the power of this capability, it is important to understand the query data model and specifically, the navigation properties available on each entity in the model. The Data Views feature in the Student (Ellucian) web client is a very powerful tool and can be very helpful in gaining an increased understanding of the query data model. However, one of the limitations in this tool is that many navigation properties for entities are not visible. The only navigation properties that are exposed in the Data Views UI are ones that have a one to one multiplicity with the base entity. Navigation properties that have a one to many multiplicity are hidden from the UI. In order to see a complete inventory of all navigation properties available in the query model, you can use an endpoint that returns the complete metadata for the query model. ## Metadata endpoint diff --git a/docs/student/best-practices/create-savenew-operations.md b/docs/student/best-practices/create-savenew-operations.md index f06d75988..f683c1346 100644 --- a/docs/student/best-practices/create-savenew-operations.md +++ b/docs/student/best-practices/create-savenew-operations.md @@ -8,7 +8,7 @@ published: "2024-03-26" edited: "2024-03-26" --- -A large subset of the available APIs in Anthology Student have a scope of inserting and updating single instances of an entity. Every entity in the Student data model inherits from a base entity service. The available operations in the base entity service are Get, Create, SaveNew, Save and Delete. There are some entities in the model that have additional APIs implemented for inserting and updating data. These will be reflected with additional endpoints that are documented in Swagger. The focus of this document will outline best practices for how to insert a new instance into an entity utilizing the Create and SaveNew endpoints. +A large subset of the available APIs in Student (Ellucian) have a scope of inserting and updating single instances of an entity. Every entity in the Student data model inherits from a base entity service. The available operations in the base entity service are Get, Create, SaveNew, Save and Delete. There are some entities in the model that have additional APIs implemented for inserting and updating data. These will be reflected with additional endpoints that are documented in Swagger. The focus of this document will outline best practices for how to insert a new instance into an entity utilizing the Create and SaveNew endpoints. ## Swagger documentation @@ -514,7 +514,7 @@ The response received when executing the SaveNew operation for the Student entit ### Implementation of SaveNew operation -Not every entity has the SaveNew operation implemented. As a general rule you can use to determine if the SaveNew operation is implemented is to look at the other operations for that entity in the Swagger documentation. If there is another operation listed that has a summary description related to adding new records then the SaveNew operation should not be utilized. If you have any doubts, please send an email to Developers@anthology.com requesting clarification on which endpoint to use for inserting a new record into an entity. +Not every entity has the SaveNew operation implemented. As a general rule you can use to determine if the SaveNew operation is implemented is to look at the other operations for that entity in the Swagger documentation. If there is another operation listed that has a summary description related to adding new records then the SaveNew operation should not be utilized. If you have any doubts, please send an email to developers@blackboard.com requesting clarification on which endpoint to use for inserting a new record into an entity. ### EntityState property diff --git a/docs/student/best-practices/get-save-operations.md b/docs/student/best-practices/get-save-operations.md index ec2edf6f1..0fa9fd45b 100644 --- a/docs/student/best-practices/get-save-operations.md +++ b/docs/student/best-practices/get-save-operations.md @@ -7,7 +7,7 @@ published: "2024-04-23" edited: "2024-04-23" --- -A large subset of the available APIs in Anthology Student have a scope of inserting and updating single instances of an entity. Every entity in the Student data model inherits from a base entity service. The available operations in the base entity service are Get, Create, SaveNew, Save and Delete. There are some entities in the model that have additional APIs implemented for inserting and updating data. These will be reflected with additional endpoints that are documented in Swagger. The focus of this document will outline best practices for how to update an existing instance of an entity utilizing the Get and Save endpoints. +A large subset of the available APIs in Student (Ellucian) have a scope of inserting and updating single instances of an entity. Every entity in the Student data model inherits from a base entity service. The available operations in the base entity service are Get, Create, SaveNew, Save and Delete. There are some entities in the model that have additional APIs implemented for inserting and updating data. These will be reflected with additional endpoints that are documented in Swagger. The focus of this document will outline best practices for how to update an existing instance of an entity utilizing the Get and Save endpoints. ## Swagger documentation @@ -358,7 +358,7 @@ This is the operation that is used to update an instance of the entity. Using th ### Implementation of Save operation -Not every entity has the Save operation implemented. As a general rule you can use to determine if the Save operation is implemented is to look at the other operations for that entity in the Swagger documentation. If there is another operation listed that has a summary description related to updating existing records then the Save operation should not be utilized. If you have any doubts, please send an email to Developers@anthology.com requesting clarification on which endpoint to use for updating an existing record for an entity. +Not every entity has the Save operation implemented. As a general rule you can use to determine if the Save operation is implemented is to look at the other operations for that entity in the Swagger documentation. If there is another operation listed that has a summary description related to updating existing records then the Save operation should not be utilized. If you have any doubts, please send an email to developers@blackboard.com requesting clarification on which endpoint to use for updating an existing record for an entity. ### EntityState property diff --git a/docs/student/getting-started/student-first-steps.md b/docs/student/getting-started/student-first-steps.md index 2394c307e..93a8fc28f 100644 --- a/docs/student/getting-started/student-first-steps.md +++ b/docs/student/getting-started/student-first-steps.md @@ -7,17 +7,17 @@ published: "" edited: "" --- -Anthology offers a suite of education technology tools, both software and hardware. REST stands for Representational State Transfer. It is a lightweight, flexible web service architecture that allows HTTP commands to be sent to Web Applications without unnecessary overhead. +Student (Ellucian) offers a suite of education technology tools, both software and hardware. REST stands for Representational State Transfer. It is a lightweight, flexible web service architecture that allows HTTP commands to be sent to Web Applications without unnecessary overhead. ## Before You Get Started #### Availability -Student APIs are made available exclusively to licensed Anthology member campuses. Third-party or public use of Student APIs is prohibited without the consent of Anthology. +Student APIs are made available exclusively to licensed Student (Ellucian) member campuses. Third-party or public use of Student APIs is prohibited without the consent of Student (Ellucian) . ## API Access -In order to authenticate to the Anthology Student APIs, you must have a user account created in the applicable Anthology Student environment that has been given the appropriate authorization permissions to access and execute the desired API endpoints. For authentication, it is recommended that you authenticate using an application key. Details on these steps are below. +In order to authenticate to the Student (Ellucian) APIs, you must have a user account created in the applicable Student (Ellucian) environment that has been given the appropriate authorization permissions to access and execute the desired API endpoints. For authentication, it is recommended that you authenticate using an application key. Details on these steps are below. #### Step 1: Request Creation of a User Account within Azure Active Directory (AAD) @@ -40,9 +40,9 @@ In most cases, users will **not have direct permissions** to create accounts wit > **Note:** Credentials should be stored securely, as they will be required during API authentication and setup steps. -#### Step 2: Create a Staff Record within the Anthology Student web client UI +#### Step 2: Create a Staff Record within the Student (Ellucian) web client UI -After the Azure Active Directory (AAD) account has been created, a corresponding **staff record** must be created within Anthology Student. +After the Azure Active Directory (AAD) account has been created, a corresponding **staff record** must be created within Student (Ellucian). This ensures that the AAD account is properly linked to a recognized internal user profile for authentication and authorization purposes. @@ -84,7 +84,7 @@ Similar to Steps 1-3 above, it will be common for most users to not have access **NOTE:** It is likely that the same resource will have permissions to all of the areas mentioned above. If this is the case, then a single request can be submitted requesting all four steps listed above be completed. -Once the above steps have been completed, you should be able to begin to work with the Anthology Student API suite. +Once the above steps have been completed, you should be able to begin to work with the Student (Ellucian) API suite. diff --git a/docs/student/service-catalog/about-student-service-catalog.md b/docs/student/service-catalog/about-student-service-catalog.md index 18aeb521a..a906165d9 100644 --- a/docs/student/service-catalog/about-student-service-catalog.md +++ b/docs/student/service-catalog/about-student-service-catalog.md @@ -1,5 +1,5 @@ --- -title: "Anthology Student Service Catalog" +title: "Student (Ellucian) Service Catalog" id: service-catalog categories: Student REST author: Mark O'Neil @@ -7,11 +7,11 @@ published: "" edited: "" --- -The Service Catalog is a collection of Web Services made available to customers who license Anthology® products. +The Service Catalog is a collection of Web Services made available to customers who license Ellucian® products. -YOu can access to our Service Catalog through the following link: [Anthology Student Documentation](https://help.anthology.com/CNS/25.2/WebClient/Content/TopNavHome.htm) +YOu can access to Ellucian's Service Catalog through the following link: [Student (Ellucian) Documentation](https://help.anthology.com/CNS/25.2/WebClient/Content/TopNavHome.htm) The Service Catalog system contains the Application Programming Intertace (API) documentation for SOAP-based web services and Windows Communication Foundation (WCF) services. Ihe documentation is intended to be used by programmers familiar with consuming SOAP and WCF services. -For Anthology Student, this help system supports the current CampusLink API version and two prior versions. Topics that have been added or modified during the release cycle display a version selector at the top of the topic pane. Use the version selector to reveal content for prior versions. +For Student (Ellucian), this help system supports the current CampusLink API (Ellucian) version and two prior versions. Topics that have been added or modified during the release cycle display a version selector at the top of the topic pane. Use the version selector to reveal content for prior versions. diff --git a/docusaurus.config.js b/docusaurus.config.js index e235e8390..052acb984 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -7,20 +7,20 @@ const darkCodeTheme = themes.dracula; /** @type {import('@docusaurus/types').Config} */ const config = { - title: 'Anthology Developer Docs', + title: 'Blackboard Developer Docs', tagline: 'Developer Documentation', favicon: 'img/favicon.ico', // Set the production url of your site here // url: 'https://blackboard.github.io', // url: 'https://anthologydevdocs.github.io', - url: 'https://docs.anthology.com', + url: 'https://docs.blackboard.com', // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' // baseUrl: '/', baseUrl: '/', - projectName: 'anthologydevdocs', - organizationName: 'Anthology', + projectName: 'BlackboardDevDocs', + organizationName: 'Blackboard', trailingSlash: false, // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. @@ -79,9 +79,9 @@ const config = { image: 'img/social-card.png', navbar: { logo: { - alt: 'Anthology Logo', - src: '/img/anthology-logo-light.svg', - srcDark: '/img/anthology-logo-dark.svg', + alt: 'Blackboard Logo', + src: '/img/Blackboard-Full-Color-Black.svg', + srcDark: '/img/Blackboard-Full-Color-White.svg', }, items: [ { diff --git a/package-lock.json b/package-lock.json index 4962fca24..164690721 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "anthology-dev-docs", + "name": "blackboard-dev-docs", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "anthology-dev-docs", + "name": "blackboard-dev-docs", "version": "0.0.0", "dependencies": { "@docusaurus/core": "^3.9.2", diff --git a/package.json b/package.json index 8f89e54cc..46aba8e8e 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "anthology-dev-docs", + "name": "blackboard-dev-docs", "version": "0.0.0", "private": true, "scripts": { diff --git a/sidebar.js b/sidebar.js index 297cbb42e..8da72ef64 100644 --- a/sidebar.js +++ b/sidebar.js @@ -34,7 +34,7 @@ const sidebars = { }, /// Blackboard { - "Blackboard Learn": [ + "Blackboard LMS": [ "blackboard/welcome", { "Create your own sandbox": [ @@ -180,7 +180,7 @@ const sidebars = { { type: "link", label: "UEF specifications", - href: "https://docs.anthology.com/uef-documentation/start.html", + href: "https://docs.blackboard.com/uef-documentation/start.html", }, ], }, @@ -217,13 +217,58 @@ const sidebars = { }, ], }, + // Ally + { + type: "category", + label: "Ally", + + // + items: [ + { + type: "autogenerated", + dirName: "ally", // Generate sidebar slice from docs path + }, + ], + }, + // Partners + { + type: "category", + label: "Partners", + + // + items: [ + { + type: "autogenerated", + dirName: "partners", // Generate sidebar slice from docs path + }, + ], + }, + // Community + { + type: "category", + label: "Community", + + // + items: [ + { + type: "autogenerated", + dirName: "community", // Generate sidebar slice from docs path + }, + ], + }, + "maintenance-page", // Student { type: "category", - label: "Student", + label: "Student (Ellucian)", // items: [ + { + type: "link", + label: "Read more about Ellucian's Acquisition", + href: "https://www.ellucian.com/newsroom/ellucian-completes-acquisition-anthologys-sis-and-erp-business", + }, { type: "category", label: "Getting Started", @@ -259,46 +304,6 @@ const sidebars = { }, ], }, - // Ally - { - type: "category", - label: "Ally", - - // - items: [ - { - type: "autogenerated", - dirName: "ally", // Generate sidebar slice from docs path - }, - ], - }, - // Partners - { - type: "category", - label: "Partners", - - // - items: [ - { - type: "autogenerated", - dirName: "partners", // Generate sidebar slice from docs path - }, - ], - }, - // Community - { - type: "category", - label: "Community", - - // - items: [ - { - type: "autogenerated", - dirName: "community", // Generate sidebar slice from docs path - }, - ], - }, - "maintenance-page", ], }; diff --git a/src/Components/ExternalLinks/ExternalLinks.jsx b/src/Components/ExternalLinks/ExternalLinks.jsx index 0b9eb6bb2..4769af23b 100644 --- a/src/Components/ExternalLinks/ExternalLinks.jsx +++ b/src/Components/ExternalLinks/ExternalLinks.jsx @@ -15,10 +15,10 @@ const ExternalLinks = () => { @@ -26,7 +26,7 @@ const ExternalLinks = () => { imgSrc={`/img/chat-bubbles-${hasHydrated ? colorMode : "dark"}.svg`} imgAlt='An icon with two chat bubbles' title='Connect with the community' - message='Connect with other developer, learn from their experiences, and share your knowledge.' + message='Connect with other developers, learn from their experiences, and share your knowledge.' aMessage='Get connected' href='/docs/community/community-intro' /> diff --git a/src/Components/Footer/Footer.jsx b/src/Components/Footer/Footer.jsx index 369a0a8a2..55fcab509 100644 --- a/src/Components/Footer/Footer.jsx +++ b/src/Components/Footer/Footer.jsx @@ -9,7 +9,7 @@ const Footer = () => {