<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Rails Engines News</title>
    <link>http://rails-engines.org/rss/news/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Updates from the Rails Engines site.</description>
    
    
        <item>
          <title>Engines 2.1.0 release</title>
          <description>
            &lt;p&gt;As I&amp;#8217;m sure everyone knows, &lt;a href=&quot;http://github.com/rails/rails/commits/v2.1.0&quot;&gt;Rails 2.1.0&lt;/a&gt; was released &lt;a href=&quot;http://weblog.rubyonrails.org/2008/6/1/rails-2-1-time-zones-dirty-caching-gem-dependencies-caching-etc&quot;&gt;earlier today&lt;/a&gt;, and I&amp;#8217;m pleased to say that the engines plugin has been keeping quietly up to date with the changes. Many of the improvements in Rails 2.1.0 have made the plugin simpler, most notably the refactoring of ActionView (see ActionView::TemplateFinder, for example). Thanks to &lt;a href=&quot;http://github.com/lazyatom/engines/network&quot;&gt;everyone who&amp;#8217;s contributed&lt;/a&gt; to this release so far; there are plenty of improvements that I&amp;#8217;ve yet to integrate!&lt;/p&gt;

&lt;p&gt;You can grab a compatible version of the plugin straight from github :&lt;/p&gt;

&lt;pre class=&quot;code shell&quot;&gt;&lt;code&gt;script/plugin install git://github.com/lazyatom/engines.git&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or, direct access to the 2.1.0 tag, in fancier git parlance:&lt;/p&gt;

&lt;pre class=&quot;code shell&quot;&gt;&lt;code&gt;cd vendor/plugins
git clone git://github.com/lazyatom/engines.git
git checkout 2.1.0&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you&amp;#8217;re using SVN, do any of these instead (although I&amp;#8217;m not sure how often I&amp;#8217;ll be keeping that up to date)&lt;/p&gt;

&lt;pre class=&quot;code shell&quot;&gt;&lt;code&gt;script/plugin install engines
svn checkout http://svn.rails-engines.org/engines/tags/rel_2.1.0&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As ever, &lt;a href=&quot;http://rails-engines.org/bugs&quot;&gt;feedback and bug reports&lt;/a&gt; are very welcome!&lt;/p&gt;
              &lt;a href=&quot;/news/2008/06/01/engines-2-1-0-release/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Sun, 01 Jun 2008 03:31:00 GMT</pubDate>
          <guid>http://rails-engines.org/news/2008/06/01/engines-2-1-0-release/</guid>
          <link>http://rails-engines.org/news/2008/06/01/engines-2-1-0-release/</link>
        </item>
    
        <item>
          <title>Merb slices, again</title>
          <description>
            &lt;p&gt;Michael Klishin keeps &lt;a href=&quot;http://www.novemberain.com/&quot;&gt;a great blog&lt;/a&gt; for updates to Merb, and I follow his posts regularly. I was a bit bemused to read &lt;a href=&quot;http://www.novemberain.com/2008/5/23/how-merb-slices-are-different-from-rails-engines&quot;&gt;his latest post about merb-slices&lt;/a&gt;, however:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;The difference with Rails Engines is that merb-slices use Merb core API for plugins, and nothing else. It does not do crazy black magic, it does not use guesses and Ruby introspection to hook into framework boot process at &amp;#8220;god knows when&amp;#8221; point in time. It utilizes idea of merb-core to just be simple to extend. Where Rails engines add layers of magic by hooking into complicated Rails boot process with magical alias method chain, it also did not rely just on API in version 1.x. When Rails 2.0 came out with plugins API being refactored, Engines collapse on upgrade of your app.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Certainly in the past, the interaction between the engines plugin and Rails updates has been&amp;#8230; well, interesting. That&amp;#8217;s because at the time, the Rails core developers took a stance that they didn&amp;#8217;t want to support &amp;#8216;slice&amp;#8217; style development. The plugin mechanism in Rails 1.0 was simple and unsophisticated, so we had to do &amp;#8216;crazy black magic&amp;#8217;, as you call it, to get engines to work.&lt;/p&gt;

&lt;p&gt;However, times have changed. Please take a look at how the plugin mechanism works in Rails 2.0. It&amp;#8217;s designed to be cleanly extensible, so you don&amp;#8217;t need to resort to &amp;#8216;black magic&amp;#8217;, and hopefully it succeeds at that. And a lot of those improvements have been a result (directly or indirectly) of the things I felt plugins should be able to do - the things that the engines plugin originally patched in. If you need some evidence of this, the current plugin mechanism was implemented by, well, &lt;a href=&quot;http://dev.rubyonrails.org/ticket/9795&quot;&gt;me&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Probably future versions of Engines, like 2.5 or 3.0 will be much much cleaner and won&amp;#8217;t use hacks, I do not know. I just think that Slices and Engines example shows how simple and modular code applied to simple task (extand darn load paths and register some routes; it is that simple) is beautiful, does not break and easy to comprehend compared to monuments of personal cleverness. It also shows how easy it is to hook into Merb boot process using one simple convention.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are a couple of things going on here. Firstly, I think it&amp;#8217;s great that merb can support changes in it&amp;#8217;s behaviour very easily. &lt;a href=&quot;http://rails-engines.org/news/2008/05/22/merb-slices/&quot;&gt;As I said a few days back&lt;/a&gt;, to have that kind of extensibility supported cleanly by the framework makes life a lot easier. So Michael&amp;#8217;s point here could just be that merb is cleaner internally that Rails is. Fine.&lt;/p&gt;

&lt;p&gt;But - &amp;#8220;Probably future versions of Engines, like 2.5 or 3.0 will be much much cleaner and won&amp;#8217;t use hacks&amp;#8221; - huh? Please point out the hacks you&amp;#8217;re refering to. Have you actually &lt;em&gt;looked&lt;/em&gt; at the engines plugin source code recently? &lt;a href=&quot;http://www.novemberain.com/2008/5/23/how-merb-slices-are-different-from-rails-engines&quot;&gt;This post&lt;/a&gt; reads to me as classic FUD about engines, feeding misconception back into public opinion because you don&amp;#8217;t want &amp;#8216;merb-slices&amp;#8217; to be attacked in the same way that Rails engines were a couple of years back.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s fine if you think that merb is &amp;#8216;better&amp;#8217; than Rails, but if you&amp;#8217;re going to decry code as hacky, at least be constructive about it.&lt;/p&gt;
              &lt;a href=&quot;/news/2008/05/24/merb-slices-again/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Sat, 24 May 2008 04:28:24 GMT</pubDate>
          <guid>http://rails-engines.org/news/2008/05/24/merb-slices-again/</guid>
          <link>http://rails-engines.org/news/2008/05/24/merb-slices-again/</link>
        </item>
    
        <item>
          <title>Merb slices</title>
          <description>
            &lt;p&gt;Ezra just posted about a new feature for merb - &lt;a href=&quot;http://brainspl.at/articles/2008/05/21/merb-slices&quot;&gt;slices&lt;/a&gt;. Seems like these cover much of what the engines plugin enables for Rails - sharing models, controllers, views and assets between your applications. It&amp;#8217;s really great to see framework-level support for this kind of development style, as it can be incredibly powerful; certainly there&amp;#8217;s a balance to be sought when sharing implementation between projects, but that balance is for the developer to gauge, without necessarily having to work against the framework. Great stuff!&lt;/p&gt;
              &lt;a href=&quot;/news/2008/05/22/merb-slices/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Thu, 22 May 2008 04:15:17 GMT</pubDate>
          <guid>http://rails-engines.org/news/2008/05/22/merb-slices/</guid>
          <link>http://rails-engines.org/news/2008/05/22/merb-slices/</link>
        </item>
    
        <item>
          <title>Heading for Github</title>
          <description>
            &lt;p&gt;I&amp;#8217;ve been using Git for a few months now, so I&amp;#8217;m happy to say that the engines plugin development is going to be heading over to &lt;a href=&quot;http://github.com/lazyatom/engines&quot;&gt;GitHub&lt;/a&gt; in the near future.&lt;/p&gt;
              &lt;a href=&quot;/news/2008/04/28/heading-for-github/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Mon, 28 Apr 2008 10:26:26 GMT</pubDate>
          <guid>http://rails-engines.org/news/2008/04/28/heading-for-github/</guid>
          <link>http://rails-engines.org/news/2008/04/28/heading-for-github/</link>
        </item>
    
        <item>
          <title>Engines 2.0 (ish)</title>
          <description>
            &lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;Just a quick note to let you know, should it be relevant, that we&amp;#8217;re readied a new release of the Engines plugin, revamped and ready for
Rails 2.0, and would absolutely love for you to start using it and sending feedback about what&amp;#8217;s broken, what&amp;#8217;s missing and what could be improved.&lt;/p&gt;

&lt;p&gt;Grab the plugin &lt;a href=&quot;http://svn.rails-engines.org/engines/trunk&quot;&gt;here&lt;/a&gt;, check out the &lt;a href=&quot;http://api.rails-engines.org&quot;&gt;README&lt;/a&gt;, and find out more after the cut&amp;#8230;&lt;/p&gt;
              &lt;a href=&quot;/news/2007/12/11/engines-2-0-ish/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Tue, 11 Dec 2007 06:02:00 GMT</pubDate>
          <guid>http://rails-engines.org/news/2007/12/11/engines-2-0-ish/</guid>
          <link>http://rails-engines.org/news/2007/12/11/engines-2-0-ish/</link>
        </item>
    
        <item>
          <title>Plugems, Welcome!</title>
          <description>
            &lt;p&gt;&lt;a href=&quot;http://revolutiononrails.blogspot.com/&quot;&gt;Revolution on Rails&lt;/a&gt; have &lt;a href=&quot;http://revolutiononrails.blogspot.com/2007/05/release-plugems-runtime.html&quot;&gt;finally released their solution&lt;/a&gt; to shared dependencies between Rails applications, which they have called &lt;a href=&quot;http://rubyforge.org/projects/plugems&quot;&gt;Plugems&lt;/a&gt; (see what they&amp;#8217;ve done there?). In their announcement they discuss some of the differences between plugins, &amp;#8220;engines&amp;#8221; (&lt;a href=&quot;http://rails-engines.org/news/2007/01/03/engines-are-dead-long-live-engines/&quot;&gt;ahem!&lt;/a&gt;) and Plugems, and I think they&amp;#8217;ve raised some interesting points.&lt;/p&gt;
              &lt;a href=&quot;/news/2007/05/02/plugems-welcome/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Wed, 02 May 2007 03:02:19 GMT</pubDate>
          <guid>http://rails-engines.org/news/2007/05/02/plugems-welcome/</guid>
          <link>http://rails-engines.org/news/2007/05/02/plugems-welcome/</link>
        </item>
    
        <item>
          <title>Engines 1.2 Released</title>
          <description>
            &lt;p&gt;I&amp;#8217;ve just pushed the 1.2 release of the engines plugin forward as the official release found by script/plugin. The 1.2 release is compatible with Rails 1.2, and undoubtedly the best release so far. It&amp;#8217;s never been easier to make your plugins more powerful, and I&amp;#8217;m very happy with some of the new features 1.2 gives, including routes in plugins and a new &amp;#8220;best-practise&amp;#8221; for sharing migrations.&lt;/p&gt;

&lt;h2&gt;Engines are dead&amp;#8230;&lt;/h2&gt;

&lt;p&gt;The new 1.2 release also represents a psychological &amp;#8220;reboot&amp;#8221; for the engines plugin. Thanks to some of the features we managed to contribute to Rails itself, &lt;em&gt;any&lt;/em&gt; plugin can be enhanced by the engines plugin. This is the final blow to the unfortunate misunderstanding that &amp;#8220;engines are evil&amp;#8221;, because there&amp;#8217;s literally no such thing as &amp;#8220;an engine&amp;#8221; anymore. The engines plugin is just a plugin that makes &lt;em&gt;other&lt;/em&gt; plugins more powerful.&lt;/p&gt;

&lt;p&gt;Below the cut you can read about some of the enhancements that the engines plugin contributes to making sharing code amongst your projects even simpler.&lt;/p&gt;
              &lt;a href=&quot;/news/2007/02/04/engines-1-2-released/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Sun, 04 Feb 2007 11:17:55 GMT</pubDate>
          <guid>http://rails-engines.org/news/2007/02/04/engines-1-2-released/</guid>
          <link>http://rails-engines.org/news/2007/02/04/engines-1-2-released/</link>
        </item>
    
        <item>
          <title>Farewell, login_engine.</title>
          <description>
            &lt;p&gt;While I prepare for the upcoming release of the engines plugin 1.2 release, I should also add that the &amp;#8220;login engine&amp;#8221; and &amp;#8220;user engine&amp;#8221; won&amp;#8217;t be joining us on the journey to 1.2. &lt;/p&gt;
              &lt;a href=&quot;/news/2007/01/23/farewell-login_engine-/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Tue, 23 Jan 2007 04:09:52 GMT</pubDate>
          <guid>http://rails-engines.org/news/2007/01/23/farewell-login_engine-/</guid>
          <link>http://rails-engines.org/news/2007/01/23/farewell-login_engine-/</link>
        </item>
    
        <item>
          <title>Engines are dead! Long live engines!</title>
          <description>
            &lt;p&gt;With the upcoming release of Rails 1.2, I thought it was a great opportunity to revisit the way that the engines plugin operates internally. Over the past year or so, the engines plugin has caused quite a stir (and picked up a &lt;a href=&quot;http://www.pluginaweek.org&quot;&gt;few&lt;/a&gt; &lt;a href=&quot;http://wiseheartdesign.com/2006/12/6/rails-needs-something-better-than-engines/&quot;&gt;admirers&lt;/a&gt;, but despite misunderstandings and opinion pieces, people still seem to find it useful.&lt;/p&gt;

&lt;p&gt;However, Rails is always changing, and so the engines plugin must change as well&amp;#8230;&lt;/p&gt;
              &lt;a href=&quot;/news/2007/01/03/engines-are-dead-long-live-engines/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Wed, 03 Jan 2007 08:10:50 GMT</pubDate>
          <guid>http://rails-engines.org/news/2007/01/03/engines-are-dead-long-live-engines/</guid>
          <link>http://rails-engines.org/news/2007/01/03/engines-are-dead-long-live-engines/</link>
        </item>
    
        <item>
          <title>Engines vs. appable_plugins?</title>
          <description>
            &lt;p&gt;(This was posted as a response to &lt;a href=&quot;http://www.pluginaweek.org/2006/11/14/5-appable_plugins-start-building-your-product-line/&quot;&gt;the article on pluginaweek.org here&lt;/a&gt;, but is reproduced here so I can expand a bit more&amp;#8230;)&lt;/p&gt;

&lt;p&gt;Hi Aaron &amp;amp; Co.,&lt;/p&gt;

&lt;p&gt;Some clarifications, in particular what the engines plugin &amp;#8220;doesn&amp;#8217;t&amp;#8221; do:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Supports sharing of model code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Unless Rails has changed such that it consistently requires/loads model code with a path, I&amp;#8217;m not sure you can consistently mix in model code. The &lt;em&gt;only&lt;/em&gt; reason this was never supported by engines is because there&amp;#8217;s no way to tell the if &amp;#8216;user.rb&amp;#8217; is a  model or a regular Ruby library at the point where you&amp;#8217;d want to do code mixing&amp;#8230;&lt;/p&gt;
              &lt;a href=&quot;/news/2006/11/15/engines-vs-appable_plugins/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
          </description>
          <pubDate>Wed, 15 Nov 2006 03:35:56 GMT</pubDate>
          <guid>http://rails-engines.org/news/2006/11/15/engines-vs-appable_plugins/</guid>
          <link>http://rails-engines.org/news/2006/11/15/engines-vs-appable_plugins/</link>
        </item>
    
    
  </channel>
</rss>

