sintonia/docs/_docs/contribute.md

3.2 KiB

title layout category permalink
Contribute to Libretime article dev /contribute

LibreTime is a fork of AirTime due to stalled development of the open source version. For background on this, see this open letter to the Airtime community.

Bug reporting

If you think you've found a bug, please report it on our Github issues page. Create a bug report by selecting Get Started next to Bug Report. That way, the LibreTime team can keep track of your problem and notify you when it has been fixed. You can also suggest improvements and new features for LibreTime on that site.

Feature requests

Have an idea that would make Libretime even better than it is right now? Start a Feature request on our Github issues page.

Translation

LibreTime can run in over 15 different languages due to the gracious help of our volunteers. Is your language not supported? Follow this guide to add your language to LibreTime!

Write documentation

Our site is now built by Jekyll, which has an installation guide here to help get you started. After cloning our repo locally, enter the docs/ directory and run

bundle install
jekyll serve

Code

Are you familiar with coding in PHP? Have you made projects in Liquidsoap and some of the other services we use? Take a look at the list of bugs and feature requests, and then fork our repo and have a go! Just use the Fork button at the top of our Code page, clone the forked repo to your desktop, open up a favorite editor and make some changes, and then commit, push, and open a pull request. Knowledge on how to use Github and Git will suit you well, use the links for a quick 101.

Testing and CI/CD

Before submitting code to the project, it's a good idea to test it first. To do this, it's easiest to install LibreTime in a virtual machine on your local system or in a cloud VM. We have instructions for setting up a virtual instance of LibreTime with Vagrant and Multipass.

If you would like to try LibreTime in a Docker image, Odclive has instructions here for setting up a test image and a more persistent install.

Modifying the Database

LibreTime is designed to work with a PostgreSQL database server running locally. LibreTime uses PropelORM to interact with the ZendPHP components and create the database.

If you are a developer seeking to add new columns to the database here are the steps.

  1. Modify airtime_mvc/build/schema.xml with any changes.
  2. Run dev_tools/propel_generate.sh
  3. Update the upgrade.sql under airtime_mvc/application/controllers/upgrade_sql/VERSION for example ALTER TABLE imported_podcast ADD COLUMN album_override boolean default 'f' NOT NULL;