bigbluebutton / bigbluebutton-api-php

Offical @BigBlueButton PHP API
https://github.com/bigbluebutton/bigbluebutton/
GNU Lesser General Public License v3.0
179 stars 198 forks source link

Implement usage of DOTENV-files #216

Closed DigitalTimK closed 7 months ago

DigitalTimK commented 7 months ago

Background

Some tests are depending on a real server. If that server has an unexpected configuration these test will fail. Up to now the credentials of that real server are hard-wired.

Proposal

With this solution it is possible to use a .env.local file which will override the BBB-credentials with another server. So test will be in best case successful :-) The advantage of the usage of an .env.locale-file is, that it will not be committed and pushed to the repository.

Links

This PR will potentially close Issue 69.

GhaziTriki commented 7 months ago

Thanks for the implementation @DigitalTimK !

DigitalTimK commented 7 months ago

That was quick ;-)

andrekutianski commented 6 months ago

Hello!

@DigitalTimK I see that this feature is very similar to what was implemented in the littleredbutton/bigbluebutton-api-php fork https://github.com/littleredbutton/bigbluebutton-api-php/blob/master/src/BigBlueButton.php#L117 , I noticed that the .env of this project has configured values, couldn't this lead to some unexpected behavior?

I believe it is necessary to update the documentation for this API to inform that the project now searches for environment variables automatically.

DigitalTimK commented 6 months ago

Hello Andre,

there are a couple of things in your message: 1) Yes, the documentation is not good. I agree. Currently there is a lot of outdated content in the WIKI of this repository. But this is hard to maintain and is not version controlled. Instead there should be doc-files (as markdown) directly in the repository, so there could be pull request to update the documentation. You and me can solve this ;-)

2) The .env-file concept of this repository is only applicable for dev-tests. So it just need to be explained in the "contribution"-part of the readme.md. In your implementation and usage of this repository, you need to have other means to set the global variables (or directly in the code, which is bad in most cases). So the use of .env-files does not to be explained in the "usage"-part (but there is already a bit on global variables in the Wiki).

3) The exposed values in the .env-file are not new. They have been moved from the PHPUnit-config file into the .env-file.

Let me know if you have questions.