I no most developers are against this, but I'm a big fan of including patched versions of necessary files rather than just the patches. It saves a ton of "how do I patch" questions and issues trying to patch with Windows and generally makes a great module (like this) much more accessible to the community. Would you please incude patched versions of the files along with the files?

Comments

webchick’s picture

Sure, this can be done. I'm going to hold off a couple more days and make sure the patches have everything they need to before putting patched versions of the files. Eventually, I am hoping to remove the requirement for patching altogether, or at least as much as possible, and move all customizations into separate modules.

jasonwhat’s picture

I'm just following up on this. It looks like you've done a lot of cool work on the module, thanks. As is, the installation instructions are a bit confusing. How does one the run the bash script (shell?) and does this install a patched version of 4.6 or do all the patches still need to be applied.? I don't know if this is possible, but it seems like since this is such an intense module, a php update type script might be very useful, though I don't know if patching can happen that way. Including patched versions is a good starting point either way.

webchick’s picture

Yeah, I've been waiting until the GJG code and the modules themselves are a bit more 'stable'... OG for instance just had a huge change that went in this week that totally changed the way node visiblity was determined, so I need to roll a new patch for that now, etc. I know there have also been changes to privatemsg, location, etc. since the GJG code was first checked in.

I will be doing a huge assessment and clean-up of this code hopefully sometime next week, will try to bring the install instructions and install script more inline, review the contrib/core patches, and see if it makes sense at that point to provide already-patched versions.

In general though, even though it's kind of awkward, patching is the way to go, imo. This way you know exactly what has changed, can cherry-pick from these changes if you want, and can apply the same changes yourself when it comes time to upgrade your site, as oposed to having to sit around and wait for patched modules to be provided. It also means you can take someone else's improvements to a particular module on some other completely unrelated module and integrate the two together (as long as the two patches aren't changing the same bit of code).

jasonwhat’s picture

coud a php update script do all this?

webchick’s picture

Possibly, though it would need to interface with shell commands to perform the CVS checkouts which I would venture to guess is not allowed in 90%+ of hosting environments.

If you'd like to take on making a PHP install script that would be great. If you need any help understanding something the bash script does, I'd be happy to translate for you.

jasonwhat’s picture

I'm probably not technically up to coding an install script. As far as the bash script, I don't really know much about it. Does it download an install with the patches applied, or must they still be applied? Do you just cut and paste the bash into something like putty?