On IRC just now, someone was describing a navigational sidebar that they were trying to write. The idea sounded really cool, but in order to make it work well, he was going to have to write a 'first class' controller to handle menu expansions in order to retain the menu's state. Which meant he'd have to put something into typo's app/controllers directory. Which is something we'd been trying to avoid in the design of the sidebar system.
Meanwhile, in another project, I've been using a Rails Engine[1]. The rails_engines plugin is a cunning plugin which enables writing plugins that, in essence shadow the main application's tree, complete with their own controllers, models, lib, views, tests... Which sounds like a perfect match for the kind of sidebar this person was trying to write (and the techniques used to make engines go looked like they might enable some seriously powerful themes, but that's definitely in the blue sky category). The catch is, having a full engine for each sidebar is definitely overkill. So, I'm thinking of investigating pulling our current sidebar system out into a 'typo_sidebars' engine, with the goal of having a vendor/sidebars directory into which you would drop 'simple' sidebars consisting of a SidebarPlugin based controller and 'configure' and 'content' views (Actually, I think it's not beyond the bounds of possibility to have the configure view be entirely autogenerated from metadata). More complex sidebars could then make full use of engine capabilities by being distributed as engines in their own right. Has anyone had much experience working with rails engines? Thoughts? 1. http://rails-engines.org/ -- Piers Cawley <[EMAIL PROTECTED]> http://www.bofh.org.uk/ _______________________________________________ Typo-list mailing list Typo-list@rubyforge.org http://rubyforge.org/mailman/listinfo/typo-list