|
From: James Adam <james.adam@...>
Subject: Re: Yet another reason to use salted passwords Newsgroups: gmane.comp.lang.ruby.rails Date: 2005-11-11 12:56:13 GMT (2 years, 33 weeks, 4 days, 20 hours and 20 minutes ago) Engines fill a fairly specific need that we (my team) have, which is the development of multiple distinct Rails applications which share common components (authentication, reporting, importing data from hellish Excel), and ensuring that a means to apply patches & bug fixes across each of these applications, including models, controllers and views with the *minimum* of developer time spend on managing those updates. Need to roll-back to a previous version of the Reporting system? Just change the SVN external and *everything* within the Engine goes back to the way it was. With generators (less so with those that come with plugins, but this still holds true), the code would have to be regenerated back into the /app directory. As far as I'm aware, the only means for producing a common set of views across a number of rails applications at the moment is by using a generator (either a normal one, or one that comes within a plugin). If such generators existed and were so impeccably tailored to our (my team's) present and future needs, obviously we would never need to think about updating the generated code and the whole issue would disappear. Of course, this isn't the case. Plugins with piggy-back generators go a HUGE way towards resolving this issue, but they still betray their generator colours by their inherently painful upgrade cycle: GeneratorDeveloper: 'New version! Many bugs killed dead! Everybody LEVEL UP!!' CoderDude: 'Crap, I'm going to have to merge my views & other stuff with this latest new version of 'SuperPlugin+Generator to get these fixes, but then I did make my own patch for some of them.. I hope that none of their bug fixes squash the behaviour that I expect from my own modified system.... OK here goes.... OK these are the files that might change.... [a few hours later].... right, I think I've merged all my customisations.... [runs the server] Oh Crap! Something didn't go right there. I better hope I remembered to commit all my changes to SVN, or I'm a-gunna be screeewed!' Not to mention that CoderDude has blue-chip clients breathing down his neck for deadlines. Put simply and bluntly: We <3 Rails, but generators just don't cut the mustard for our some of our (my team's) more "quasi enterprise" development needs. Hence Engines. Most Rails developers, teams and projects might not be in the same situation as us, and for the Lone Code, generators are undoubtedly fine. But that's life, you choose the tools most appropriate for your needs, and if the tools don't exist yet, you write them yourself. Engines have not recieved the blessing of the RoR core team, and I wouldn't expect any different, because it would be madness to include them in the core Rails. It's a mechanism far too easily [ab]used for things it's not actually suitable for. I did speak to Jamis (cc'd to DHH) about them quite some time ago, before plugins existed in a released form. Their advice was to reimplement our mechanism as a plugin, and if anything we were doing could not be achieved in this way, they would re-examine their plugin mechanism to see what could be adapted. As it turns out, we can do everything we need within their plugins architecture, so we have a happy coexistance - Rails stays clean, but is flexibly enough to support our (hopefully not too outlandish) needs. It's not like we're forking the project or taking digging our heels in and taking a stand against anything. What was this thread about again? My head feels a bit dizzy... On 11/11/05, Deirdre Saoirse Moen <deirdre@...> wrote: > I've talked this over with DHH in IRC, therefore I'm pretty sure I > understand his perspective. > > In short, plugins and generators are sanctioned, engines are not. > > On Nov 11, 2005, at 3:17 AM, Trevor Squires wrote: > > > I can't speak for the core team but my impression is that a plugin > > (which Engines is) is a 'sanctioned' way to distribute extensions > > to rails without having to pester the core team to include your > > extensions in rails itself. > > > > As an example, I don't recall seeing the asset_timestamping plugin > > announced on the ROR weblog but I *do* recall seeing an email from > > Jamis saying he intended on using it... > > > > Regards, > > Trevor > > > > On 11-Nov-05, at 2:27 AM, Deirdre Saoirse Moen wrote: > > > >> On Nov 10, 2005, at 7:30 PM, Francois Beausoleil wrote: > >> > >>> If you don't mind the new dependencies, LoginEngine installs in > >>> two steps: > >> > >> Personally, I more mind the fact that engines are an approach not > >> sanctioned by the core team. (note that no announcement of engines > >> ever took place on the ror weblog) > > -- > _Deirdre http://deirdre.net > > > _______________________________________________ > Rails mailing list > Rails@... > http://lists.rubyonrails.org/mailman/listinfo/rails > |
|
|