Blackboard provides a preconfigured VirtualBox developer virtual machine (DVM) to help developers quickly test and validate Building Blocks and REST integrations. This article will help you set up the DVM.
To gain access to a DVM, your organization must be an established Blackboard customer or prospective customer. Otherwise, you can become a Blackboard Partner. For more information about becoming a Blackboard Partner, see Become a Blackboard Partner and Gain Access To Behind the Blackboard and Partner SaaS Systems .
- Developer-class workstation or laptop that supports Linux virtual machines.
- VirtualBox 5.0.14 must be installed and operational.
- Vagrant 1.74 or later must be installed and operational.
- Behind the Blackboard Access - Read Become a Blackboard Partner and Gain Access To Behind the Blackboard and Partner SaaS Systems.
- Create a directory on your computer for your Vagrant VM. For example: $HOME/Vagrant/Learn
- Download the Vagrant virtual machine and Vagrantfile from Behind the Blackboard and place them in the directory listed in Step 1.
- Run the following commands in that directory:
- If you are on a Windows host machine, you may experience issues logging into the VM because of Windows' management of SSH. Alternatively, you can log into the VM using any SSH client you want by connecting to localhost:2222 and using the credentials vagrant/vagrant. Additionally, help is available on the Vagrant site.
- Blackboard Learn should automatically start when the machine is booted up.
Using the Virtual Machine
You can now access your developer instance of Learn at http://localhost:9876. The Learn administrator login credentials are administrator/password.
This virtual machine is pre-licensed with a developers license, and is not intended to be re-licensed with your institution's license or personal developer license. Because a Developer license is in use, there are certain limitations:
- 150 Users
- 100 Courses
- 1000 Enrollments
This Building Block allows you to deploy your Building Block remotely, and is already installed and configured on this virtual machine.
You can modify this VM to mimic either a SaaS-like configuration or an Enterprise 9.1 configuration. In the bb-config.properties file, there is a variable to control whether the Building Block uses the standard content directory or a local cached copy. SaaS uses a local cached copy of the Building Block directory on each app server. Toggling this value to true mimics this behavior.
bbconfig.plugins.cache.enabled=false // Default behavior, just like Learn 9.1
bbconfig.plugins.cache.enabled=true //Mimics B2 behavior of Learn SaaS
You will also need to shutdown Learn and copy the content directory that is being used to the new location when making the switch. For example, the Q2 2016 DVM ships with bbconfig.plugins.cache.enabled=true. When you switch to bbconfig.plugins.cache.enabled=false you will need to shutdown Learn and then cp -r /usr/local/blackboard/cache/vi/BBLEARN/plugins/* /usr/local/blackboard/content/vi/BBLEARN/plugins/ This copies the cache directory content to the standard content directory.
As with any configuration change, a PushConfigUpdates is required in order to have the change take affect.
See the Shared Content Folder section of Preparing Your Building Blocks For Learn SaaS and Newer Learn Versions for a detailed explanation of the differences between the SaaS-like configuration and the Enterprise 9.1 configuration.
Attaching to the Tomcat Debugger
The tomcat debugger may be attached via port 9878.
Accessing the Virtual Machine Users
The user which is by default logged onto the virtual machine is named vagrant and has the password of vagrant.
After you have ssh'd to the virtual machine you have the need to perform root privileged operations:
su - root #the root password for the virtual machine is vagrant
Accessing the Database Directly
To access the database directly (for running SQL), you must be logged in as the postgres user:
sudo su - postgres -c "psql BBLEARN"
The user and password for accessing the database when not logged in as the postgres user is postgres/postgres.
Port 5432 is forwarded to your host machine at 9879, so you can set up a "remote" connection using pgadminIII or your preferred database tool.
Tomcat Wrapper Timeout
The tomcat wrapper timeout value has been set to 0 to avoid the timing out of the Java Debugger. The memory allocation is initially set to 4gb in the Vagrantfile, as well. Simply modify the entry in Vagrantfile to adjust this value.
Register VM With the Cloud
The DVM must register with the cloud in order to use the API Gateway. Learn more about this process here.
To share comments and feedback on the developer virtual machine, please email developers (at) blackboard (dot) com.