When is the current estimate for Blackboard SOAP API end of life date?
There are still some use cases for which we need to implement REST APIs before we announce deprecation. I am hopeful that we will be able to announce mid-2018 or so.
If you would like to share your specific use cases I would be appreciative.
Senior Product Manager, Developer Platform and REST APIs
Developer PlatformDeveloper Community
One use case, before deprecation...
With SOAP, you could allow a user to 'log in' and then perform some actions on that user's behalf. Essentially, it helped provide a sense of identity management, to control what actions can (or, more importantly, cannot) be proxied for some user. Right now I'm using the SOAP ContextWS to verify a user (just a simple login/logout), and if authenticated, I use the REST services to perform various actions for that user (authorization for those actions is handled within the application, based on institution business rules).
I think this use case is covered with this Three-Legged OAuth
Thanks for pointing this out, Alberto Ruiz. While that doesn't conform to the current workflow I have set up, it definitely handles the use case. And looks like I have time to test this out and rework a few things.
Thanks Mark! We currently use the Course WS to retrieve all of our courses within Blackboard. We were just curious how much time we have to transition that implementation over to use the REST APIs instead of SOAP.
Tom - Glad I could help.
Note that there will be runway post deprecation announcement for you to refactor before SOAP WS would be removed - I am shooting for a minimum of 6 months.
We currently use the SOAP web services to create and populate gradebook columns with text data. This does not seem to be possible with the gradebook REST APIs. Some discussion around this is at: REST API How to set the grade in text?
An example of what this is used for is adding a column containing a student's campus or location. Another example is, for multi-mode courses, adding a column indicating which mode the student is enrolled in.
I am pretty sure we resolved the readonly concern on text field in the Q4 2017 release. Please take a look at V2 of the grade book APIs and let me know if they meet your use case.
Also if this information is visible only to instructors/TAs/Graders have you considered using instructor notes for storing this information?
In either case if the API is not meeting your current needs please shoot me a note with some data examples (esp around the multi-mode courses).
I don't think my above comment really explained the situation, although I think the discussion at REST API How to set the grade in text? does.
The issue it not actually updating the text in a gradebook column, you can do this in 3200, the issue is that you cannot create a column set for text entry. I cannot see anything in the v2 endpoint documentation that would do this. Let me know if I have missed it.
You can create a column using the API and then via the GUI change it for text entry, or create it via the GUI and set if for text entry. Then updating the column values via the API works fine,
We just need to be able to specify that a column is a text column ("Primary Display" = "Text").
So it was just tested (albeit on Ultra)) that you can create a manual grade column that uses an autogenerated "Text" schema. You can then set the text grade for an enrolled student to some made up text string. results of doing so are as shown below:
"text": "This is my made up grade data"
"text": "Here is my made up grade data",
I am investigating whether Original workflow/behavior is different.
P.S. Same test works against a classic course.
Ah, got it, thanks.
To summarise, with the v2 endpoints, you can specify the schemaId when you create a column. To have a text column, you set this to the id of the built-in Text schema.
For a classic course, the only way I can see to get the id, is to set Primary Display = Text for a column and do a get columns to see what the schemaId is. Am I missing something?
And for Ultra, I cannot see how to get it at all. The only built-in schema I see in the GUI are Points and Percentage. And the editable Letter schema. I haven't spent much time with Ultra, so maybe I'm looking in the wrong place.
Doh, I just realized that we have not published the swagger for accessing the schema...and of course we've been testing on a recent build.
When we do you'll call (with example ids of course):
One of results will be like:
You can then use that when creating the column… notice the “v2” here:
"name": "Text Test Column",
You can then set the text grade for a student in the course with:
"text": "Here is my text grade"
That will come back with:
"text": "Here is my text grade"
"text": "Here is my text grade",
This is all included in an upcoming SaaS release and in the next release of Learn Original.
Hope that clarifies things a bit.
Now it makes sense!
BTW, now I know it exists, just tried on the AMI and the schema endpoint is there.
Retrieving data ...