The state of mountable apps

Hey guys,

I'm very excited about the release of the 3.0 beta and currently trying to dig into all new and changed stuff. Awesome what I can tell so far! :slight_smile:

One thing I came across is really nice writeup about how plugins, engines and railties work together and how everything hooks up in the boot process.

https://gist.github.com/e139fa787aa882c0aa9c

Looks pretty cool but one thing I am missing is the "russian doll pattern" Yehuda and Carl mentioned at RailsConf 09. I know the talk wasn't based on any existing code, but I assumed the mountable apps topic will be a key feature in Rails 3. Reading the docs and the code, there doesn't seem to be anything mountable apps-related like a namespace feature (config.app_namespace) in the current release.

Now my question: What's the state of the whole mountable app thing? Is it already in and I just looked in the wrong place, is this going to be a 3.x feature or did you guys cross it off the list?

Keep up the good work,

Mike

In Rails 3.0, the Engine class is the superclass of Application. We got pretty far along, but there are some kinks that need to be worked out in 3.x before the ideas Carl and I outlined are seamless.

Keep an eye out!

Yehuda Katz Developer | Engine Yard (ph) 718.877.1325

Thanks for the info! The new engine, router and rack stuff seems like a solid base!

Again.. keep up the good work! :slight_smile:

What you stumbled across is pretty much all in the lifo/docrails repository now.

Watch out for more guides, we will be doing a series of write ups covering all aspects of this area. The full intention is to make an even more thriving and co-ordinated plugin developer community around rails.

While the kinks aren't out on the general pluggable app, you can mount any rack related app already (check out my blog for a simple writeup on this) which means you COULD distribute right now a gem that plugs into rails, inserts it routes and just works after the user adds your gem to their Gemfile.

But stay tuned for updates :slight_smile:

Thanks for the info!

The new engine, router and rack stuff seems like a solid base!

Again… keep up the good work! :slight_smile:

What you stumbled across is pretty much all in the lifo/docrails repository now.

Watch out for more guides, we will be doing a series of write ups

covering all aspects of this area. The full intention is to make an

even more thriving and co-ordinated plugin developer community around

rails.

While the kinks aren’t out on the general pluggable app, you can mount

any rack related app already (check out my blog for a simple writeup

on this) which means you COULD distribute right now a gem that plugs

into rails, inserts it routes and just works after the user adds your

gem to their Gemfile.

But stay tuned for updates :slight_smile:

Check this out as well, by Jose Valim:

https://gist.github.com/9fcf658fc4f559b97c2c

It gives a good introduction and a brief insight into how Railtie, Engine, Application fits together in Rails3.

Anuj

That's a great writeup with lots of examples. Good job, Jose...

-- Chad