Published by Mijingo

movie icon image

EE Insider Blog

Spend your time learning and developing sites with ExpressionEngine and we'll use this blog to keep you informed of all the news related to ExpressionEngine and CodeIgniter.

» Read more in the Archives.

» Have a tip? Send us your EE news.

Learn ExpressionEngine Today

Over a series of 8 videos, watch and learn as Ryan builds an entire ExpressionEngine website from beginning to end. Get started now.

Ask the Readers: Would you use add-ons that require core hacks?

Ask the Readers Yesterday Erik Reagan posed a question on Twitter about using EE add-ons that require a core hack (making modifications to the EE code itself). It’s a great question so I want to ask the EE Insider community.

Would you or do you use add-ons that require core hacks?

Let us know your answer in the comments!

Posted on Feb 09, 2010 by Ryan Irelan

Filed Under: Ask the Readers

moogaloo04:41 on 02.09.2010

I would rather not.
I don’t know PHP so it is a little daunting…. but if it was an amazing module, I probably would tho.

James04:48 on 02.09.2010

I know PHP quite well, but would not use any add-on that hacks the core on a production site. Perhaps on my own dev site…

Jason Morehead05:18 on 02.09.2010

I know a fair amount of PHP, but I’m definitely not comfortable hacking core EE files. It just doesn’t seem like a good idea to me.

Erik Reagan05:26 on 02.09.2010

Thanks for extending the conversation, Ryan.

I’m fine hacking for fun and seeing what can be done with the slightest change to the core code. It’s a great way to learn. However, it’s not for production sites at all.

Many of us build and maintain many EE sites for clients. Keeping record of which add-ons required a hack and which client site(s) had those hacks performed could be a nightmare. Not only would upgrading be more difficult, but you would have to test the hack against new versions and even builds.

Overall I think it’s cool to learn by hacking the core but certainly not something I’d do to a production site. I also doubt I would distribute an add-on publicly that required a hack, let alone sell one.

Mark Huot05:37 on 02.09.2010

I’m going to take a different view and say “Yes” to hacking the core. Take that with a grain of salt though. I’d never propose replacing the entire EE templating system with an XSLT parser or something like that (even if I may have tried once wink.

I would be all for updating lang files or switching a hardcoded RET value though, assuming there isn’t an add-on supported way to do so. Basically, if the changes are non-catastrophic, well documented, and within version control, then the risk should be relatively minimal.

AJP05:38 on 02.09.2010

I agree with Erik. It’s great for poking around, but I avoid them like the plague for client sites. It’s not uncommon for me to batch upgrade client sites when a new version comes out, and to have to test all of them individually would be a deal break.

Russell Lipton07:15 on 02.09.2010

What Mark said, but the documentation for hacks must be scrupulous, detailed - and, of course, limited. Otherwise, EE is the wrong product.

bluedreamer07:49 on 02.09.2010

That reminds me of times spent applying hacks to forum scripts and the like. All doable, even with my limited PHP skills, but when it comes round to upgrading the core a total PITA. And the more sites you have to manage the worse it will get.

I say avoid like the plague.

Lodewijk Schutte09:17 on 02.09.2010

I also prefer not to.

But, to make a case for the opposite side, one could argue that—like BK points out—it often happens you build a site for a client with the current version of software/add-ons, and leave it at that. If you’re not planning on upgrading, then why shouldn’t you hack the core?

Joe Michaud10:18 on 02.09.2010

I am with most of the rest of you—I don’t mind hacking add-ons to get the behavior I want but would really rather not hack the core.

I can pretty much do without any feature that would require a core hack.

Euan Ross11:05 on 02.09.2010

Personally I wouldn’t. A website I previously did involved CubeCart which required editing the core files anytime you wished to install an add-on.

I much prefer EE’s system where I know I can add/remove add-ons without the need to touch the core files.

Shaun11:27 on 02.09.2010

Definitely not.

It’s just too much work to maintain the hacks against subsequent EE releases.

Shawn Berg12:23 on 02.09.2010

I can’t see how this would be a good idea. If you end up modifying the core code it’ll make it more difficult to upgrade and troubleshoot in the future. Also, I can’t imagine EL would support the installation if the core had been modified.

Sean15:18 on 02.09.2010

Nope - not interested in hacking the files. It’s not that difficult, but what do you do when you need to upgrade. The hack will be broken and may not be rehackable with the exact same code.

I’d rather lose a feature than deal with that situation.

bjorn20:19 on 02.09.2010

I’d avoid this like the plauge myself - however, I’m developing a huge site in EE 2.0 at the moment and we’ve had to modify core files a couple of times - but mostly just until the bug was fixed by EllisLab (or feature implemented). When we did this we created patch files and stored every change in git.

Many times core hacks can be avoided - it’s possible to extend core EE libraries and classes on runtime for instance.

Mike06:24 on 02.10.2010

not for me