Closed mwhitneysdsu closed 10 years ago
I haven't had issues with the 0.7.1 loader. Having several apps, I would prefer if a branch was kept around for a while - that is, unless it's a near seamless switch to the 0.7 loader.
Btw, what happened to Lonnie's new loader, wouldn't that be better than the old one?
@mwhitneysdsu I have though of reverting the Loader changes in 0.7.1 myself, but hadn't done it yet. I agree with your earlier discussions that it seemed to be causing more problems in the long run so reverting would be good.
I did find a MUCH cleaner way to get the separation of Bonfire from everything else with standard HMVC code. Well, close to standard, anyway. The biggest solution was overriding the Loader's constructor to add BFPATH into the search path arrays for everything. You can see that in the Bonfire Next MY_Loader file. This did require a few small additions to the HMVC code itself, but I'm not too concerned about being able to upgrade that since he hasn't made any changes in around a year, IIRC.
Oh, and HMVC's controller supports the BaseController's autoload array (and more than we currently do) out of the box. I hadn't realized that previously, but it negates the need for one of the BaseController methods we implemented after my Loader changes.
Oh, and @boblennes to answer your question, the new Loader is in place in the 0.7.1 branch already.
As long as the Bonfire Modules class is kept in place the port back should be near seamless.
@lonnieezell Maybe we should archive the 0.7.1 branch somehow (I'm still not great with git terminology or determining the best way to do something like this) before reverting the changes, in case people do have issues with the going from 0.7.1 back to the MX Loader. However, I don't anticipate significant issues, given that we were primarily just trying to get it to behave the way the MX Loader did.
@boblennes Personally, I spend most of my time working on 1 site (though it was consolidated from 20-something sites over the last 2 years). I think the primary things that prompted me to open this issue are:
Good idea, @mwhitneysdsu, I've created a new branch archives/0.7.1
to hold the current develop branch (along with some pull requests that I accidentally merged into master recently).
I don't see any problems, either, as long as we keep the new Modules library and don't break that. Though, come to think of it, that just came around in 0.7.1 so we don't technically have to, but I think we should since quite a few people use the develop branch.
The Bonfire modules have all been updated to use the library, but I copied the functions from the library into my MX/Modules class because the library is loaded by /bonfire/core/Router.php.
Late to the party,
Awesome idea!
I believe I've merged everything pretty well, but there are still 1 or 2 items I know need to be fixed (interaction between the Loader and the Template library).
940b8a872fb20d2a3cb3f0b8618c1c35181fd96c
Given #956, #979, #993, #1018, and possibly other issues (and one or two of those issues may not be directly related, but I can't be sure), and the addition of the repo for https://github.com/ci-bonfire/Bonfire-Next, I'm considering whether the loader changes in 0.7.1 should be reverted.
As I see it, the existing Bonfire repo could maintain compatibility with 0.7 (to whatever extent makes sense), so existing sites would have a code base they can rely on. We could back-port useful features from Bonfire-Next, but, once Bonfire-Next has a stable release, it would be considered the preferred code base for new sites, while the existing Bonfire code base would be primarily targeted at maintaining older sites, and transitioning those sites to Bonfire-Next.
I've been maintaining my own site on the MX Loader (from 0.7) with most of the changes from 0.7.1 back-ported to my project. The only issues I can foresee would be with features I'm unaware of in the new loader or changes that I have not back-ported simply because they were made primarily to fix issues with the new loader. I did modify the MX Loader on my site to load
BF_Lang
,BF_Model
, andBF_Security
from the /bonfire/core directory (or anything else with a BF_ prefix, though /application/core classes can override them).I'll have to go through the changes made to CodeIgniter itself to see whether I've ported those (and, if not, whether I should). This would probably also determine whether the
MY_Loader
andMY_Router
files that load the MX_Loader could be moved into the /bonfire/core directory (instead of the /application/core directory).I guess my question is simply whether this sounds like a path worth taking to the other people out there using Bonfire.