Modding/customizing Gibbon

If a school needs to make minor mods/customizations to their Gibbon instance - what is the recommended way, so it remains upgradable through regular Update?

With, say, OpenCart one can use VQMOD to tweak system without modifying original system code. Could it be used with Gibbon for small tweaks?
https://github.com/vqmod/vqmod/wiki/Integration-with-Other-Platforms

Thank you!
Victor

Hi Victor,

It’s possible the vQmod system could help you make minor changes, if you test it out and find it’s working well I’m sure you’d be welcome to share your findings. It looks like it works on a system of string-replacements, looking for one thing in the code and replacing it with something new. This could certainly give you one way to ensure you’re not editing core files, but wouldn’t necessarily be ‘update proof’ as the internal code can change from version to version. As with any code change, testing on a local or development system would be highly recommended.

I think the approach to modding depends on the scope of change you’re looking to make. What kinds of mods or changes do you have in mind? Many of the simplest changes can be made internally: Gibbon has an internal string replacement system, which helps with a lot of the minor cosmetic changes and differences in terminology between one school and another. The built-in custom users fields also allow a fair amount of flexibility to add data a school needs.

Beyond the built-in tools Gibbon’s Module system allows you to extend the system quite considerably. A module can be anything from a few pages to a whole new set of tools and table data (the Free Learning module is a great example of a single module that can transform how Gibbon is used). There are also a few hooks that can be used by modules to insert content in specific places such as the dashboard, more info here: https://gibbonedu.org/support/developers/module-development/

With Gibbon being open-source and available through github it’s also possible to make modifications to a forked copy and merge new versions back into it. With each new version (generally twice a year) one would merge the new version back into their github fork and manually handle any conflicts between the two. This direction likely requires the most programming knowledge, but is certainly one option to maintain a set of changes from one version to another. As with anything open-source, if it’s a change that the developer feels could benefit other schools they can try contributing it back to the core as a pull request.

With the internationalization tools, string replacements, custom fields and module system I think Gibbon is designed based on the idea that every school is different, and hopes to provide tools to meet a wide range of needs. So if there was an area that many schools were needing to customize and a lot of interest in it, it’s also possible that could be put forward as a feature request as well.

Hope this helps! Certainly if you try something and find it’s working well for your school be sure to share your findings :slight_smile:

Hi, Sandra! Very comprehensive overview of customization options. I will test vQmod and share results.

Per your suggestion, just had luck with the “string replacement system” (Menu "Admin-System Admin-String Replacement) - works magic! Example: to change the link text from “View Current Job Openings” to “Apply for Current Job Openings” I added a new replacement and in the fields typed plain text without any code - and saw the modified text on live website! In fact - when I add some HTML tags to Replacement String * - it is rendered properly on the site. This will solve a lot of our tweak requests!
Looked at “String replacement” before but did not find any description how to use it. I’ll add a little intro and will pull request so others get an idea how simple it is to use.

Why I looked int vQmod - we need some fields removed in the Application forms, eg school not offering Scholarships and these fields have no on/off toggle in Form settings (I could not find). Other similar mods are requested by administration.

Thank you for a prompt useful advice!

Victor,

The application form is a beast, and some options to remove certain sections would be useful. Beyond scholarships, is there anything else you would want to remove? We can add some options to v14.

Ross

Ross, very kind of you!

In our case we’d disable
LANGUAGE SELECTION,
SCHOLARSHIPS
PAYMENT

Victor

Victor,

For Language Selection, you can disable this under Admin > User Admin Application Form Settings under the Language Learning Options section.

For Payment, do you mean the section that asks about family vs company payment? Would you like this whole section to disappear?

For Scholarships, we can add an on/off switch for this.

@skuipers, in terms of your current work on the application form, I don’t want to interfere by adding settings. Are you in a position where I can get your work committed and merged so that I can add the settings above?

Thanks,

Ross

The aim of the current application OOification work was to facilitate adding in these settings, I’m happy to tackle it (hopefully by the end of the week).

Amazing, you are a champion! Looking forward to seeing this in action, as I am sure Victor is too. Thanks : )

buenas tardes, para mi la opcion becas es importante por cuanto nostros somos una fundacion y todo el servicio a las niñas es con Becas,

Estoy hasta ahora explorando Gibbon, tengo algunas inquietudes respecto a las modificaciones que pueda hacer para adecuarlo a mis necesidades, por ejemplo tipos, por cuanto no he encontrado esta opcion en el sistema que entiendo es la ultima version. v13 del 2017. Por donde puedo ingresar para hacer ajustes? estoy ingresando por un opcion de desarrolladores aunque no soy ing. de sistmas. Podria por favor colaborarme:

beatriz franco
Santa Maria FOundation
Directora
Colombia

Beatriz,

Using Google Translate helped me understand some of your message (sorry, no one on the team speaks Spanish!). We will not remove the Scholarship option, don’t worry! It will be an option to turn it on and off.

In terms of the second part of your question, please can you post this as a new forum thread, in order to keep the information here easy to use? Google Translate made it hard to understand what you meant, so if you can find someone to help you post in English, that would really help.

Thanks,

Ross

I’m Spanish, so I’ll see if I can help with communicating :slight_smile:

The scholarship and payment enable/disable settings did make it into v14 (just in time) https://github.com/GibbonEdu/core/pull/252