I am trying to build a fairly complex website, part of which will include user generated pages. Its a site for my local theater club. Some of the pages will be canned pages built in normal Rails style. But for the list of shows we have done, I would like a content management system to be able to add whatever pages a given show needs. My questions are: 1) Can Radiant be used in this way, or does it really want to run the whole show? 2) Can pages managed by Radiant access data from elsewhere in the site? (That is: can I access other AR models and use that data on a managed page?) 3) Is Radiant the right choice for this kind of application? Thanks for any help or suggestions. -- Will Merrell
on 2007-05-17 21:52
on 2007-05-18 03:10
It depends highly on your desired style of managing the site. If the focus is more on dynamic user-generated content, then Radiant may not be the best choice. If the focus is on highly style-able, quasi-static content or brochureware, then Radiant may just be for you. That said, there are a myriad of different combinations you could conceive of for the site... Radiant can support many of your needs with extensions if you're willing to write some Rails code. Sean
on 2007-05-18 05:27
Sean Cribbs wrote: > Sean Hi Sean, I'm not the OP but have a similar question. I'm thinking of using Radiant for a site that has manuals and API documentation in HTML format (something like the PHP documentation site). The base of the site is the HTML version of the documents - these are updated occasionally when a new version is released. Closely linked to these documents is the dynamic portion that consists of code examples, comments from engineers, etc. (exactly like the PHP documentation site). All portions of the site are in multiple languages. On the other hand, I want to also have directly generated user content - a Wiki and a Forum/ BBS, an events calendar for events relating to this technology and perhaps a job board. I feel that for the Wiki & BBS, I'd like to integrate with other technologies (possibly Rails based) though I still need to work out some kind of single-sign-on. It seems to me that Radiant, with some work, would fit the bill. What do you feel? Cheers Mohit.
on 2007-05-18 05:56
Will, You really are asking hundred-dollar questions, some of which are the same ones I've been asking. I've been hearing that Radiant is a CMS and that it is primarily geared toward serving up content. That's true. However, like you, I have the need to integrate other "pages" into my site that interface with the user (allowing him to logon, complete a form, do data entry, etc.). Basically, what you're wanting is a hybrid. You want to capitalize on what Radiant does well and interject in a few areas with what Rails does well. At least, that's my goal. I've really toiled over this wondering what would be the best practice. Making loose use of the 80:20 rule, 80% of my needs are met by Radiant in excellent fashion. However, 20% of my needs are not. They are, however, met by Rails which--go figure--just so happens to be what Radiant was built on! This naturally has me asking: If Rails is right there under the hood, how come I can't *easily* leverage it for my custom pages? Additionally, why do I have to sacrifice one for the other. Can't I have "Radiant on Rails" and make use of both? I haven't found the obvious answer at this point, though I would be all too happy to hear what others are doing. Or even if this is a typical problem, which, perhaps, it isn't. Here's what I ultimately decided to do. It may not be the best choice, but it's what came to mind. First, I started with Radiant as content management is the core of my particular site. Now, I am getting ready to transition into the next phase, where I will plug into the site the user-interactive pages. Basically, I'm going to write a separate Rails application that accesses the same Radiant database. (I'm using the same database since it already has the app-specific tables for which I added back-end interfaces into Radiant.) I'm going to overlay the Rails app on top of the Radiant site. That is, I'm going to (attempt to) use Apache mod_rewrite to properly dispatch incoming URLs to the right application: RadiantCMS or CustomRailsApp. I'm going to attempt to make the pages in the CustomRailsApp look like the pages found in Radiant. I'm going to attempt to disguise the URLs so that the custom pages look like they are part of the same Radiant site. The idea is to make these two separate apps (each running on their own mongrels) appear seamlessly integrated. I don't feel good about this. It feels like a kludge. What I'd like to do is write extensions--just like those I'm already starting to write on the back end--for the front end. I'd like to be able to do this within the context of a Radiant page so that I can take advantage of Radiant's offerings (snippets, custom tags, layouts, etc.) and Rail's offerings (simplified CRUD). If I were a Ruby/Rails veteran I'd develop just this sort of functionality/feature. Unfortunately, I'm still relatively green and so I'm looking at more basic alternatives. It's been recommended that I create custom tags to accomplish some of this. I don't like the idea. Why am I writing custom tags to do something that Rails already knows how to do? Writing custom tags to accomplish Rails CRUD operations feels ludicrous. I feel like that would be learning Chinese to tell an Chinese-English interpreter to tell my English speaking friend something that I could just tell him myself. I do wish to make it clear: I think Radiant is superb. I love Radius, the simplicity of page parts, and its extensibility. It's just inches away from being incredible. It's a matter of lessening the division between itself and Rails so that hybrid sites won't be such a difficult matter. If you run into any good ideas, I'd like to hear them. Who knows, maybe "front-end extensions" won't be far off... :) Respectfully, Mario T. Lanza
on 2007-05-18 06:18
Mario Lanza wrote: > > which, perhaps, it isn't. > Apache mod_rewrite to properly dispatch incoming URLs to the right > the context of a Radiant page so that I can take advantage of Radiant's > my English speaking friend something that I could just tell him myself. > Respectfully, > Mario T. Lanza > > Mario, I think there are at least a few of us who are thinking the same way. I haven't delved into Radiant much as yet, so I'm not yet sure that it's very difficult to integrate other Rails apps. Cheers Mohit.
on 2007-05-18 06:37
> two separate apps (each running on their own mongrels) appear > seamlessly > integrated. You don't need to separate out your app at that level. You can just drop in your rails app code right into your radiant directory. The only thing that's are not going to work off the bat are: - There's no way to use your radiant layouts from a rhtml page. I believe that this would be fairly simple to code up though. - Rails provides no mechanism for getting routes from multiple locations. Radiant, however, does - extensions: class MyExtension < Radiant::Extension define_routes do |map| #define your rails routes here end end There is fundamentally very little difference between developing a rails app and developing a radiant extension - move everthing to vendor/extensions/extname, write an extension loading file that defines your routes and then you're done. Feel free to look through http://soxbox.no-ip.org/radiant/svn/extensions/x_groggy/ - everything I've been doing has been to extend radiant's interface, but there's no fundamental difference between what I've done there and extending radiant with your own non-radiant controllers/models/views. Dan.
on 2007-05-18 15:56
Dan, Thanks for the direction. I'll see what I can do... still relatively green with Radiant/Rails/Ruby. Mario