Skip to content

zerausolrac/PyCollab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyCollab

Python Blackboard Collaborate script to download recording based on Blackboard Learn Course ID, or Blackboard Learn Course UUID, Moodle plugin session ID, Moodle LTI Tool. and get:

  • Recording Report in a CSV file (Recording_ID, Storage Size, Duration, Creation Date, Duration) on /reports folder
  • Downloads local folder that will receive the MP4 video if the recording have chats, those will be downloaded too. Recording and Chat csv files will be on /downloads folder
  • Command line attributes depending on the scenario: Learn Course,Blackboard Learn Course UUID, Moodle plugin session ID, Moodle LTI Tool.
  • This script is NOT supported on Behind the Blackboard.

1. Python Instalation

You need to have installed from Python 3.7 to Python 3.8.6

Will depent on Computer operation system how Python is referenced on command line tool:
Mac OS:

  • (HomeBrew) brew install python3
  • normally python3 is the alias to run python scripts when install python 3.7+
Windows OS:
  • Python 3.9+ still do not support PEP 157 package instalation, so must be installed Python 3.8.6 (x86_64 or x86 installer depending on your computer processor)
  • Normally python is the alias to run python scripts when install python from version 3.7 to Python 3.8.6


2. Install script requirements

MacOS:

pip install -r requerimientos.txt

Windows:

python -m pip install -r requerimientos.txt

3. Add Blackboard Collaborate and Learn Credentials

  • Scenario 1: Learn to Collaborate search for recordings
  • Scenario 2: Moodle to Collaborate search for recordings
  • Scenario 3: Collab Admin Institutional Reports

if you have the scenario 1 you need to insert both Learn and Collaborate credentials
If you have the scenario 2 or scenario 3, yo only need to insert Collaborate credentials, but DO NOT REMOVE the key:value association of Learn credentials section from the Config.py file.
edit content of Config.py file

Note: Backboard Credentials / Integration on Learn

In order to get the Learn credentials, go to developer.blackboard.com and register from there to grab the Learn credentials for their application, it is also imperative to remind them that they are creating an application based on your code, so they need to register as a developer.Then on your Blackboard Learn environment, as admin role user, go to Rest API Integration a create an integration using data provided from developer.blackboard.com before.

Check Learn Integration

Note: Backboard Credentials for Collaborate

Now, for Collaborate production they CAN and MUST create a ticket on behind the blackboard requesting their credentials.

4. Modify external file depending on scenario

edit learn_courses.txt file
edit learn_uuids.txt file
edit moodle_lti_id.txt file
edit moodle_plugin_sessions.txt file

for Scenario 3
downlaod the Collaborate Admin Institutional Attendance Report and put on the root directoriy
downlaod Collaborate Admin Institutional Recordings Report and put on the root directoriy

5. Run the script

  • Collab.py -h
  • CollabMoodle.py -h
  • CollabReport.py -h
  • CollabMinutes.py -h
  • CollabRecordings.py -h
  • CollabRecordingsDownload.py -h

Scenario 1

Search recording from Blackboard Learn to Collaborate

  • if you have the Blackboard Learn course id(s) as input data on the file learn_courses.txt, where -w is a value of weeks back for as starting point of searching for recordings: Note: if the recording have chats, those will be downloaded too.
  • python3 Collab.py -f learn_courses.txt -w 10   
    
  • if you have the Blackboard Learn UUID(s) as input data on the file learn_uuids.txt, where -w is a value of weeks back for as starting point of searching for recordings: Note: if the recording have chats, those will be downloaded too.
  • python3 Collab.py -e learn_uuids.txt -w 10   
    

    Report Learn-Collaborate

  • If you need to know about recording storage size, duration and recording ID before download any recording you can create a report, where -f is point to learn_courses.txt file that have Blackboard Learn courses ID listed by row, and -w is a value of weeks back for as starting point of searching for recordings. Note:If the recording has public_access disabled, the recording won't be readed by script and will 403 report will be generated with list recording_id.
  • python3 CollabReport.py -f learn_courses.txt -w 10
    

    Scenario 2

    Search recording from Moodle to Collaborate

    If you have the Moodle with Plugin Integration

  • Add one per row,the sessionuid column values from mdl_collaborate table from Moodle database on the file moodle_plugin_sessions.txt.
  • -w is a value of weeks back for as starting point of searching for recordings
  • If the recording have chats, those will be downloaded too.
  • Then run the command:

    python3 CollabMoodle.py -s moodle_plugin_sessions.txt -w 10   
    

    If you have the Moodle with LTI Integration

  • Add one per row, the id column values from mdl_lit table from Moodle database on the file moodle_lti_id.txt, check that course column value from from mdl_lit table match with id value from mdl_course table.
  • -w is a value of weeks back for as starting point of searching for recordings
  • If the recording have chats, those will be downloaded too.
  • Then run the command:

    python3 CollabMoodle.py -l moodle_lti_id.txt -w 10   
    

    Scenario 3

    Collaborate Admin Institutional Reports

    Report Minutes on Callaborate from AttendeeReport

  • if you need to identify the amount of minutes spend in Collaborate session,first you need to download the Collaborate Admin Institutional Attendance Report according to your zone (ca:Canada, us: USA), then use the script CollabMinutes.py with the parameter -f that point to the file previously downloaded.
  • python3 CollabMinutes.py -f AttendeeReport.csv   
    


    Report RecordingId from Collaborate RecordingsReport

  • if you need to get information about recordingId, storage size, first you need to download the Collaborate Admin Institutional Recording Report according to your zone (ca:Canada, us: USA), then use the script CollabRecordings.py with the parameter -f that point to the file previously downloaded. Note:If the recording has public_access disabled, the recording won't be readed by script and will 403 report will be generated with list recording_id.
  • python3 CollabRecordings.py -f RecordingsReport.csv   
    


    Download RecordingId from Collaborate RecordingsReport

  • if you need to download recordings, first you need to download the Collaborate Admin Institutional Recording Report according to your zone (ca:Canada, us: USA), then use the script CollabRecordingsDownload.py with the parameter -f that point to the file previously downloaded. Note:If the recording has public_access disabled, the recording won't be readed by script and will 403 report will be generated with list recording_id.
  • python3 CollabRecordingsDownload.py -f RecordingsReport.csv   
    


    Delete recordings

    Considerations

    About deletion process

    • Use this feature at your own risk
    • It is soft-deletion, this means, deletion process will remove recording after 30 days from deletion day
    • When deleted from API, It is not taken in count for total calculation of storage for Collaborate Entitlements
    • On reporting only takes in count Blackboard Learn-Collab in Blackboard Data, there is no way to caculate Collab Scheduler total storage using API
    • It is not possible to recover a deleted recording using Collaborate’s API, for that cases will need to create a Blackboard Support ticket for it
    python3 CollabDeleteRecordings.py -f recordingsid_list.txt   
    

    Where recordingids_list.txt is a text-plain o-column-list with all recordingsId that will be deleted from Blackboard Collaborate instance.

      ____    _                  _      _                                  _ 
     |  _ \  | |                | |    | |                                | |
     | |_) | | |   __ _    ___  | | __ | |__     ___     __ _   _ __    __| |
     |  _ <  | |  / _` |  / __| | |/ / | '_ \   / _ \   / _` | | '__|  / _` |
     | |_) | | | | (_| | | (__  |   <  | |_) | | (_) | | (_| | | |    | (_| |
     |____/  |_|  \__,_|  \___| |_|\_\ |_.__/   \___/   \__,_| |_|     \__,_|
                                                                                 
    

    Tutorials

    Downloading - English

    Downloading - Español

    About

    Python Collab

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages