You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello! It’s October again and that means it’s Hacktoberfest! 😃 Whether you’re an open source veteran or completely new, there are many ways to participate in Hacktoberfest and contribute to Gibbon. Be sure to sign up on the website first so that your first four pull requests count towards a free t-shirt!
Where to start?
If you are new to open source or GitHub, check out the tutorials that the DigitalOcean folks have put together: An Introduction to Open Source. We also have some developer docs available at https://docs.gibbonedu.org/developers/ If you have any questions getting your development environment setup, feel free to post in the comments below.
The Gibbon team has been working on refactoring our codebase the past couple versions, and there’s everything from housekeeping items to advanced refactoring items still outstanding. We’ve put together some ideas to get you started, but we also welcome other contributions. When in doubt, please ask us first in the comments below. Thanks!
Entry-level:
Replacing session variables:
Throughout the codebase you’ll see $_SESSION[$guid]['variableName'] being used to access session variables. These can be replaced with the $gibbon->session->get('variableName') method.
Adding null coalesce operators:
Null coalesce was introduced in PHP7 and you’ll see many areas of the codebase still using isset() checks on variables, especially $_GET and $_POST variables. These can be replaced with the more succinct format of $variableName = $_GET['variableName'] ?? '';
Documentation:
Our documentation needs some love! Adding or updating the docs is a great way to contribute and create pull requests even if you're not a programmer. Our docs are hosted on GitHub and can be edited through the web UI by creating a pull request (no command line necessary). The best way to find and edit or add pages is through the docs themselves. Look for the "Edit page" and "New page" buttons.
Mid-level:
Refactoring Forms:
There are still some forms left to refactor in the Free Learning module. Check out the issue here for more info: Reafactoring Forms #820
Adding translation to modules:
Our amazing translators have been asking to translate the additional modules. To do this, we'll first need to add the translation function to any unique strings in these modules. This can be done with the __m() function. For example, 'This is a string' becomes __m('This is a string').
Advanced:
Refactoring Tables:
There are lots of tables left to refactor. Check out the Refactoring Tables issue for a list of the additional modules needing refactored. There are also tonnes of tables left in the core, just search for the HTML <table tag and you'll find 'em. We have a tracking spreadsheet for these, feel free to email support@gibbonedu.org and we can add you.
Give a shout with any questions.
Happy Hacktoberfest! 👩💻 👨💻
The text was updated successfully, but these errors were encountered:
That's a wrap, Hacktoberfest 2020 is now complete. Thank you to everyone who participated in the hackathon! 🧑💻 👩💻 We had several participants from around the world and one school even had cake! Hopefully you got all 4 pull requests in and got your free t-shirt or tree 🎉
Hello! It’s October again and that means it’s Hacktoberfest! 😃 Whether you’re an open source veteran or completely new, there are many ways to participate in Hacktoberfest and contribute to Gibbon. Be sure to sign up on the website first so that your first four pull requests count towards a free t-shirt!
Where to start?
If you are new to open source or GitHub, check out the tutorials that the DigitalOcean folks have put together: An Introduction to Open Source. We also have some developer docs available at https://docs.gibbonedu.org/developers/ If you have any questions getting your development environment setup, feel free to post in the comments below.
The Gibbon team has been working on refactoring our codebase the past couple versions, and there’s everything from housekeeping items to advanced refactoring items still outstanding. We’ve put together some ideas to get you started, but we also welcome other contributions. When in doubt, please ask us first in the comments below. Thanks!
Entry-level:
Throughout the codebase you’ll see
$_SESSION[$guid]['variableName']
being used to access session variables. These can be replaced with the$gibbon->session->get('variableName')
method.Null coalesce was introduced in PHP7 and you’ll see many areas of the codebase still using isset() checks on variables, especially $_GET and $_POST variables. These can be replaced with the more succinct format of
$variableName = $_GET['variableName'] ?? '';
Our documentation needs some love! Adding or updating the docs is a great way to contribute and create pull requests even if you're not a programmer. Our docs are hosted on GitHub and can be edited through the web UI by creating a pull request (no command line necessary). The best way to find and edit or add pages is through the docs themselves. Look for the "Edit page" and "New page" buttons.
Mid-level:
There are still some forms left to refactor in the Free Learning module. Check out the issue here for more info: Reafactoring Forms #820
Our amazing translators have been asking to translate the additional modules. To do this, we'll first need to add the translation function to any unique strings in these modules. This can be done with the
__m()
function. For example,'This is a string'
becomes__m('This is a string')
.Advanced:
There are lots of tables left to refactor. Check out the Refactoring Tables issue for a list of the additional modules needing refactored. There are also tonnes of tables left in the core, just search for the HTML
<table
tag and you'll find 'em. We have a tracking spreadsheet for these, feel free to email support@gibbonedu.org and we can add you.Give a shout with any questions.
Happy Hacktoberfest! 👩💻 👨💻
The text was updated successfully, but these errors were encountered: