Best practice for organising modifications made to the code

What is best practice for organising modifications made to the PHP/HTML of an Omeka installation? I have made a few changes to individual files, for example removing breadcrumbs from show.php in the SimplePages plugin, and changing the citation format in themes/default/items/show.php, and am intending to make a lot more. It's apparent that this makes upgrading to a new version of Omeka, such as the upgrade to version 2.2, an error prone process as every modified file needs to be either copied over from the previous version or the code has to be updated if the file has changed.

It seems preferable to put all my modifications in one place, rather than scatter them across multiple files. How could this best be achieved? Should I place the modifications in a plugin? Should I make changes to the SASS/CSS where possible rather than the PHP/HTML files? For example the SimplePages breadcrumbs could instead be hidden using CSS.

Are you making all these changes to the public side of things?

If you are, I think all the things you mentioned can just be taken care of by having your own theme, instead of editing the bundled theme directly.


To create a theme, you just need to copy one of the default themes (berlin, thanks roy, seasons or other ones) or the folder application/views/scripts/, inside a new subfolder of the folder themes, and to change the theme.ini file.

You should never change code in the Omeka core, else you'll get issues especially with updates.


Daniel Berthereau
Infodoc & Knowledge management