Looking into this a bit, I think this should be simple to trivial to
add to Castle. If you look at the MenuComponent in CastleContrib (at
the bottom, in the #if false block), You'll see a attempted an ad hoc
version some time ago.
First part: Having a single assembly with all code for a widget. ---
Done, just put the Controller-derived (say WidgetController) class in
an assembly, and add to your project.
(www.example.com/Widget/DoStuff.rails)
Next part: Having all associated files as resources in the assembly.
This is a bit tricker, and is best divided into two parts, (a) CSS,
Image, JS etc files (ie, files loaded by the browser), and (b) View
templates (ie, files used by the framework)
My first thought for handling (a) was a controller built into the
filework , FilesController, with an extensibilty point, so that
individual controller can include their files
(www.example/Files/Widget.rails?widget.css). However, what I think
would be easier is to merely create a PortableAreasController (derived
from SmartDispatchController, from which you would derive you widget),
which defines a Files action,
(www.example.com/Widget/Files.rails?widget.css) Actually, with a
default action defined, I should be able to reference it as
www.example.com/Widget/widget_css.rails. And that can be handled
just by a base class, which should take less than a day, and I can
stick in CastleContrib without affecting the Core.
(b) gets a bit trickier, and I believe involves adding features to the
framework itself (unless there's already an extensibilty point for
this).
Truth,
James
2010/3/15 Krzysztof Koźmic (2) <[email protected]>:
> about ideas, I've heard/read on several occasions people praising
> ASP.NET MVC's portable areas and their lack in Monorail. Perhaps this
> is something worth taking a look at?
>
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.