Rails on Windows book - suggestions for topics
|
|
How timely! I’m working on a book for O’Reilly that covers this very topic. What sort of topics do you find most troubling? I’ve been doing Rails on Windows for over two years now and it really is amazing how well most of it works. Deployment still hurts a bit though. Here’s what I have so far:
I’d like to cover deployment in this book too but that’s a touchy subject as I’ve already written that for another book for a different publisher. I’d love to hear your thoughts. |
|
|
Hi Brian, Thanks for joining the forum. I’m very impressed by the detail of your documentation for deploying Rails on Windows. Looking over your list, I’d be very happy with what you have so far. But to offer one suggestion….how about ways to integrate COM or .NET libraries into a Rails project? I’ve been experimenting with ruby wrappers for .NET libraries and it’s been fun but a little frustrating. I used some older ruby library (forgot the name, not John Lam’s stuff though) and then wrote a custom .NET assembly to wrap the proprietary .NET assembly. Then I used ruby to call my custom wrapper. It worked well, although Rails was freezing my class files which made rapid development difficult…even in development mode (via webrick). I think Brian or Jeff touched on this subject in another post, but maybe an introductory chapter comparing/contrasting Rails with ASP.NET. I’ve been wanting to do a show-and-tell with my co-workers but Rails is such a paradigm shift in web apps that I feel they would be lost from the very beginning. If I think of anything else, I’ll post it here. |
|
|
A ‘map’ of the relationships between the files in a Rails app. One of the things we have had to deal with when develop Ruby In Steel is creating ‘fake’ requires to tie together Ruby files (mainly for the purposes of IntelliSense) so that they work as though they had explicit requires. During that process it became clear that one of the confusing things about the Rails ‘config by convention’ is that the relationships forged by Rails are not readily apparent at designtime. So a ‘map’ showing which files depend upon which others (which would have to ‘require’ others if this were a standalone Ruby app) would be nice to have. |
|
|
@Huw: Interesting… but I don’t know if that’s really in scope for this book. We’re trying to focus on things that are specific to Rails on Windows, although I really like that idea because it could be useful to anybody! @Chris: Integrating COM and .Net with Rails, huh? Interesting. I’ve done that before, and you know what? I walked away from that because it ties you to Windows a little TOO much. One of the selling points about Rails is that it is truly platform-independent. However, you raise a great point for a topic that I will start thinking about – integrating Rails with your infrastructure. Might be nice to talk about using an ActiveDirectory authentication scheme, etc. COM and .Net integration coupld probably done using some sort of service oriented architecture pattern, whether it is SOAP or RESTful. It certainly is worth mentioning how you might wrap COM or .NET objects and libraries but point out the limitations of doing so and offer alternatives. Good thinking. Your second point, about comparing .Net to Rails, would be quite useful. My .Net experience is actually quite limited, as I avoided it when it came out (went from ASP to PHP instead, but always worked in an MS environment.) You actually have two different areas – the Ruby language itself, and how dynamic that is, and then the .Net framework vs. the Rails framework. I really think that could be useful so I want to pursue that, time permitting. Keep the ideas coming. What other problem areas do we face on Windows? |
|
|
might be interesting to start from the perspective of a .netter who’s looking for the ruby/rails equivalents of their usual tools and paradigms, e.g. “where’s my debugger”, “where’s nunit”, “where’s msbuild”, “where can i find webcontrols”, “how do i do continuous integration” etc etc. |
|
|
Also visual web design: e.g. Can I use Dreamweaver? Not forgetting: IIS, Apache, etc. And can the various CLR bridges (e.g. John Lam’s) be used in cahoots with Rails (I don’t know the answer to that one myself…) Hmmm, there may be scope for a 2nd volume of this book ;-) |
|
|
You just touched on it, Brian, but one of the more often-asked questions I get is: what about security? When a MS person asks you about security, they’re not asking about password-protecting your site through a before_filter in your Rails app or even HTTP authentication. What they’re alluding to is “can it integrate with whatever crazy-ass existing Active Directory scheme I already paid somebody lots of money to set up?” A while back, Jason Douglas from Microsoft got in touch with me and let me know that he published this article over at the Rails wiki. Don’t know if it’s still relevant or if it works. But worth a read. |
|
|
@Brian Eng: Yeah… that’s a big deal, but you know what? The best solution is to actually make a web service that authenticates you and then invoke that. We cheated by using CAS on a lot of projects (since ANYTHING can authenticate through that). But it’s still important to cover. Also, re: article on the wiki – I’ve read it, and also been talking with MS on the FastCGI stuff although I am not convinced that FastCGI is acceptable as a platform, no matter what OS you’re on. @Huw: I like your point about the visual design and it’s not something I’ve thought about before. I’m a hand-coder, as are many of the people in the Rails community. Telling people they will have to hand-code their forms might alienate some people, but there are not yet any options for visually designing forms for rails. (You can use dreamweaver, but you don’t have the <%=text_field %> helpers.). Really good point. Re: Apache and IIS… I have my articles and I will probably just reference the other book I’m writing so I don’t get in trouble with the two publishers :( That book’s been in development for well over 7 months and I had to contribute a new draft of my chapter with updated contents. Can you elaborate on the CLR bridge stuff, maybe via my email so we don’t hijack the thread? bphogan at gmail would work for that. @Jon: Great idea. Not sure what msbuild is (cos as I said, i skipped .Net but know a few .Netters so I picked up some things). The rest of those are good. |