<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Rails Engines - All Site Updates</title>
    <link>http://rails-engines.org/rss/everything/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Updates from the Rails Engines site.</description>
    
    
      
      <item>
          <title>Frequently Asked Questions</title>
          <description>
            &lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/faq/engines-vs-generators/&quot;&gt;Engines vs Generators&lt;/a&gt;&lt;/h3&gt;
  &lt;p&gt;Engines could be considered in many ways the natural successor to Rails&amp;#8217; generators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Both are mechanisms for packaging up disparate groups of files which must be placed throughout your whole application directory structure&lt;/li&gt;
&lt;li&gt;Both provide controllers, models, libraries and views, along with schema information, tests and helpers to be used throughout your application&amp;#8217;s code.&lt;/li&gt;
&lt;/ul&gt;
  &lt;a href=&quot;/faq/engines-vs-generators/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
&lt;/div&gt;

&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/faq/oh-god-what-have-we-done/&quot;&gt;Oh God, What Have We Done?&lt;/a&gt;&lt;/h3&gt;
  &lt;p&gt;This was something of a response to misunderstandings about what Engines are. For more background you might want to read &lt;a href=&quot;http://weblog.rubyonrails.com/2005/11/11/why-engines-and-components-are-not-evil-but-distracting/&quot;&gt;DHH&amp;#8217;s first post about engines&lt;/a&gt; and &lt;a href=&quot;http://article.gmane.org/gmane.comp.lang.ruby.rails/29166&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;
  &lt;a href=&quot;/faq/oh-god-what-have-we-done/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
&lt;/div&gt;

&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/faq/issue-tracker-login-information/&quot;&gt;Issue Tracker Login Information&lt;/a&gt;&lt;/h3&gt;
  &lt;p&gt;I hate spam, and no more so that on issue tracking websites. To log into http://dev.rails-engines.org and comment or create new tickets, you need to login:&lt;/p&gt;

&lt;pre&gt;  login: engines
  password: engines&lt;/pre&gt;

&lt;p&gt;You can &lt;a href=&quot;http://dev.rails-engines.org/&quot;&gt;login in here&lt;/a&gt;.&lt;/p&gt;
  &lt;a href=&quot;/faq/issue-tracker-login-information/#extended&quot;&gt;Continue Reading&amp;#8230;&lt;/a&gt;
&lt;/div&gt;
              
          </description>
          <pubDate>Wed, 30 Aug 2006 06:13:38 GMT</pubDate>
          <guid>http://rails-engines.org/faq/</guid>
          <link>http://rails-engines.org/faq/</link>
        </item>
      
    
      
      <item>
          <title>Development</title>
          <description>
            &lt;h2&gt;Read the README!&lt;/h2&gt;

&lt;p&gt;If you&amp;#8217;re interested in developing plugins that ultilise the engines plugin, the first thing you need to read is the engines plugin &lt;a href=&quot;http://api.rails-engines.org/engines&quot;&gt;README&lt;/a&gt;, which lays down all the basics about how it enhances Rails&amp;#8217; own plugin mechanism.&lt;/p&gt;

&lt;h2&gt;Tutorials&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://gwyn.dezyne.net/&quot;&gt;Gwyn Morfey&lt;/a&gt; has written &lt;a href=&quot;http://gwyn.dezyne.net/page/writing_a_plugin_with_engines_&quot;&gt;a guide building plugins that can take advantage of the engines plugin&amp;#8217;s features&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://alterlabs.com&quot;&gt;Joe at AlterLabs&lt;/a&gt; also wrote one of the &lt;a href=&quot;http://alterlabs.com/ruby/how-to-build-a-ruby-on-rails-engine-in-depth-start-to-finish-tutorial&quot;&gt;best introductions to developing an engine&lt;/a&gt; (thought this has not been updated to reflect the 1.2 release of the engines plugin yet).&lt;/p&gt;

&lt;h2&gt;Other Information&lt;/h2&gt;

&lt;ul&gt;

&lt;li&gt;&lt;a href=&quot;/development/how-to-tell-when-the-engines-plugin-might-be-useful/&quot;&gt;How to tell when the engines plugin might be useful&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href=&quot;/development/common-issues-when-overloading-code-from-plugins/&quot;&gt;Common issues when overloading code from plugins&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;
              
          </description>
          <pubDate>Wed, 30 Aug 2006 06:11:07 GMT</pubDate>
          <guid>http://rails-engines.org/development/</guid>
          <link>http://rails-engines.org/development/</link>
        </item>
      
    
      
      <item>
          <title>Introduction</title>
          <description>
            &lt;h2&gt;The engines plugin? Huh?&lt;/h2&gt;

&lt;p&gt;The engines plugin enhances Rails&amp;#8217; own plugin framework, making it simple to share controllers, helpers, models, public assets, routes and migrations in plugins.&lt;/p&gt;

&lt;p&gt;It enables plugins to carry whole chunks of functionality into your existing application without affecting any of your existing code. They could also be described as application aspects, or vertical application slices - top-to-bottom units which provide full MVC coverage for a certain, specific application function.&lt;/p&gt;

&lt;p&gt;Alternatively, you can use the engines plugin to share the smallest, simplest assets including common migrations, javascripts, stylesheets or images.&lt;/p&gt;

&lt;h2&gt;See the engines plugin in action&lt;/h2&gt;

&lt;p&gt;&lt;strike&gt;In true Rails style, we&amp;#8217;ve got a &lt;a href=&quot;http://rails-engines.rubyforge.org/movies/engines_intro.mov&quot;&gt;demo video&lt;/a&gt; (Quicktime, 13MB) all pipin&amp;#8217;-hot and ready to serve ya!&lt;/strike&gt; This video refers to an old version of the engines plugin; I hope to upload an updated one soon, highlighting many of the new features. It&amp;#8217;s also work noting that it demonstrates the login engine, which has now been deprecated.&lt;/p&gt;

&lt;p&gt;If you don&amp;#8217;t like video, then head straight over to the engines plugin &lt;a href=&quot;http://api.rails-engines.org/&quot;&gt;README&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;p&gt;See the &lt;a href=&quot;/download&quot;&gt;Download&lt;/a&gt; page for info on setting up the main Engines plugin.&lt;/p&gt;

&lt;h2&gt;More Information&lt;/h2&gt;

&lt;p&gt;More information can be found all over this site, but in particular you might want to check out the &lt;a href=&quot;/faq&quot;&gt;Frequently Asked Questions&lt;/a&gt; and the &lt;a href=&quot;/development&quot;&gt;Developer documentation&lt;/a&gt;.&lt;/p&gt;
              
          </description>
          <pubDate>Wed, 30 Aug 2006 04:49:24 GMT</pubDate>
          <guid>http://rails-engines.org/introduction/</guid>
          <link>http://rails-engines.org/introduction/</link>
        </item>
      
    
      
      <item>
          <title>Bugs and Issues</title>
          <description>
            &lt;p&gt;If you&amp;#8217;re having problems with engines, there are quite a few places to look for help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://engines.lighthouseapp.com/projects/10178-engines-plugin/&quot;&gt;Our Lighthouse page&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://engines.lighthouseapp.com/projects/10178-engines-plugin/tickets/bins/6111&quot;&gt;Open Tickets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The mailing lists: &lt;ul&gt;
&lt;li&gt;If you&amp;#8217;re having problems with a specific engine, please post to the &lt;a href=&quot;http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org&quot;&gt;engine-users&lt;/a&gt; mailing list;&lt;/li&gt;
&lt;li&gt;Discussion of the engines plugin internals and bug reports go to &lt;a href=&quot;http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org&quot;&gt;engine-developers&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The rails mailing list itself: rubyonrails-talk@googlegroups.com&lt;/li&gt;
&lt;/ul&gt;
              
          </description>
          <pubDate>Wed, 30 Aug 2006 04:42:54 GMT</pubDate>
          <guid>http://rails-engines.org/bugs/</guid>
          <link>http://rails-engines.org/bugs/</link>
        </item>
      
    
      
      <item>
          <title>Download</title>
          <description>
            &lt;p&gt;There are quite a few ways to get your hands on the various engines available. The first thing to do in any case is to get the Engines plugin itself, which is what we&amp;#8217;ll cover here.&lt;/p&gt;

&lt;h2&gt;Rails&amp;#8217; own &lt;tt&gt;script/plugin&lt;/tt&gt; command&lt;/h2&gt;

&lt;p&gt;The first thing to do is update the &lt;tt&gt;plugin&lt;/tt&gt; command&amp;#8217;s list of download sources:&lt;/p&gt;

&lt;pre&gt;
$ ruby script/plugin discover
&lt;/pre&gt;

&lt;p&gt;Now we can install the actual Engines plugin:&lt;/p&gt;

&lt;pre&gt;
$ ruby script/plugin install engines
&lt;/pre&gt;

&lt;p&gt;Alternately, you can explicitly specify the location from which to download and install the engines plugin:&lt;/p&gt;

&lt;pre&gt;
$ ruby script/plugin install git://github.com/lazyatom/engines.git
&lt;/pre&gt;

&lt;p&gt;From this point you can now install plugins as normal - any additional files each plugin provides will automatically become available when your Rails application loads.&lt;/p&gt;

&lt;h2&gt;git&lt;/h2&gt;

&lt;p&gt;The engines plugin development mainly happens using git now. Find out more at &lt;a href=&quot;http://github.com/lazyatom/engines&quot;&gt;github&lt;/a&gt;&amp;#8230;&lt;/p&gt;

&lt;h2&gt;SVN&lt;/h2&gt;

&lt;p&gt;The old, irregularly-updated Rails Engines Subversion repository can currently be found at http://svn.rails-engines.org/. The layout for this repository is discussed &lt;a href=&quot;http://svn.rails-engines.org/README&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
              
          </description>
          <pubDate>Wed, 30 Aug 2006 04:16:00 GMT</pubDate>
          <guid>http://rails-engines.org/download/</guid>
          <link>http://rails-engines.org/download/</link>
        </item>
      
    
      
      <item>
          <title>News</title>
          <description>
            
&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/news/2008/06/01/engines-2-1-0-release/&quot;&gt;Engines 2.1.0 release&lt;/a&gt;&lt;/h3&gt;
  &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&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&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&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;
  &lt;p class=&quot;info&quot;&gt;Posted by James Adam on Jun 01, 2008&lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/news/2008/05/24/merb-slices-again/&quot;&gt;Merb slices, again&lt;/a&gt;&lt;/h3&gt;
  &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;
  &lt;p class=&quot;info&quot;&gt;Posted by James Adam on May 24, 2008&lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/news/2008/05/22/merb-slices/&quot;&gt;Merb slices&lt;/a&gt;&lt;/h3&gt;
  &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;
  &lt;p class=&quot;info&quot;&gt;Posted by James Adam on May 22, 2008&lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/news/2008/04/28/heading-for-github/&quot;&gt;Heading for Github&lt;/a&gt;&lt;/h3&gt;
  &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;
  &lt;p class=&quot;info&quot;&gt;Posted by James Adam on Apr 28, 2008&lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;entry&quot;&gt;
  &lt;h3&gt;&lt;a href=&quot;/news/2007/12/11/engines-2-0-ish/&quot;&gt;Engines 2.0 (ish)&lt;/a&gt;&lt;/h3&gt;
  &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;
  &lt;p class=&quot;info&quot;&gt;Posted by James Adam on Dec 11, 2007&lt;/p&gt;
&lt;/div&gt;

              
          </description>
          <pubDate>Wed, 30 Aug 2006 03:15:29 GMT</pubDate>
          <guid>http://rails-engines.org/news/</guid>
          <link>http://rails-engines.org/news/</link>
        </item>
      
    
      
    
      
    
    
  </channel>
</rss>

