3.2 KiB
3.2 KiB
BBB-Recording-Importer
Imports and parses recording metadata.xml files and stores the data in a Postgresql database
How to use
- Ensure the required software is installed
- Install
docker
(if you're usingdocker-dev
development environment for BBB this is already installed)- You would either need to add your user to the docker group or you might have to prepend your docker-compose command with
sudo
- You would either need to add your user to the docker group or you might have to prepend your docker-compose command with
sudo usermod -aG docker `whoami`
sudo reboot
- Install
docker compose
- a sample set of steps are listed below but could likely be installed in a different way too:sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
- Note that you do not need to install Postgres DB on your own
-
In bbb-common-web
cd bbb-common-web
- Edit the
./.env
file and set the environment variables (the default values should work fine) - Run the
./hibernate.cfg.sh
script to generate the hibernate config file - Run
docker-compose up
to start up the docker container containing the Postgresql database - Interact with the database using the psql script
-
In bbb-recording-imex
- Unit tests for parsing and persisting recording metadata can be found in src/test/java/org/bigbluebutton/recording/
- Edit the
metadataDirectory
variables in the test files to point to where the recording metadata can be found. The default value "metadata" refers to./src/metadata
and should work too. - Run the unit tests using the command
mvn test
- Use the
deploy.sh
script to compile the program - Run the program with the recording-imex.sh script found in ~/usr/local/bin
- Use the --help option to see the usage
Usage: {-e|-i } [-s ] [PATH] Import/export recording(s) to/from PATH. The default PATH is /var/bigbluebutton/published/presentation -e export recording(s) -i import recording(s) and indicate if they should be persisted [true|false] -s ID of single recording to be imported/exported
Examples
~/usr/local/bin/recording-imex.sh -i true -s random-7739095 /var/bigbluebutton/published/presentation/1abbc41a2f2faf1d754dbd130fba9ae072c6e742-1652301432519/metadata.xml
~/usr/local/bin/recording-imex.sh -i true /var/bigbluebutton/published/presentation/
Testing the new recording service
- In bigbluebutton-web
- Edit the "recordingService" bean in /grails-app/conf/spring/resources.xml to use "org.bigbluebutton.api.service.impl.RecordingServiceDbImpl"
- Use "org.bigbluebutton.api.service.impl.RecordingServiceFileImpl" if you want to use the traditional file system service
- In bbb-recording-imex
- Use the get-recordings.sh script to test the getRecordings endpoint on the recording API
- Edit the "SALT" variable to have the value of your security salt
- The script accepts arguments through the use of flags
- "-i" for the meetingID
- "-r" for the recordID(s)
- "-s" for the state(s)
- "-m" for the metadata