Preparing the 1.0.1 patch
I was preparing the patch for 1.0.1, and I'm having a kind of doubt.
One of the changes is the update of FontAwesome to the latest version (4.2), installing is of course not a big problem: overwirte the files and that's all.
Uninstall is another story, because to "properly" uninstall I'd have to add to the package the old files Elk is shipping now, or I'd have to just ignore them and leave FA 4.2 installed.
The last option is not include an uninstall at all in the package.
What is the "best" option for you?
Re: Preparing the 1.0.1 patch
Reply #1 –
Why would anyone want to remove patch? I'd go with not including option to uninstall package.
Re: Preparing the 1.0.1 patch
Reply #4 –
I'd think its safe to leave that updated dependency in place even with an uninstall, Now if it was the editor I'd feel differently. We should give some thought how we handle external dependacy updates going forward, maybe only at full .x releases?
Re: Preparing the 1.0.1 patch
Reply #7 –
I had another small peak of electricity in my brain and a flash about this one, but "forward thinking", not limited to 1.0.1, probably more about 2.0.1.
One of the original plans (as I remember it, I'm pretty sure it's also written somewhere around) was to gradually phase out edits to files as a way to create addons.
The "gradually" part was intended like: the moment a certain file has enough ways to be extended that it doesn't need any edit at all, that file can be added to the hypothetical "no edits" list.
An example of files that could safely fit into that description are the payment gateways. Nobody should change them.
Assuming at some point we will create such a list, in order to update these "special" files, the only meaningful way will be to overwrite them.
And the moment we do such a thing, we will be again in this very situation: what to do with the uninstall?
I see two options:
1) provide a package with both the new and the old version of the file,
2) do not provide an uninstall at all.
In the current situation, of course option 1 is the only applicable.
In the future (when more code will be covered by automated testing), option 2 could become acceptable, because risks of regressions or of "disasters" should be much lower.
But as I said at the beginning, this is something for the future.