I have started with an extension that defines a route that is supposed to be visible only from the front-end of my Radiant site. It provides a user authentication screen much like the back-end authentication screen and saves the user in a session. (Already disabled SiteController "sessions :off" line.) I am using the same user table as is used by Radiant. My plan is to change the default Radiant user table adding lower level privileges that do not allow such users to see the back-end interface. If this is too complicated, I may end up creating a separate table of external_users though that is not my preference. Ultimately, I will map several custom controllers for handling Rails CRUD interactions with the authenticated user--basically, a simple Rails app. Here's the route mapping I use: map.user_login 'user/login', :controller => 'user', :action => 'login' Anytime I type in "http://mysite.com/user/login" I end up being redirected to the back-end login. If I login to the back end, THEN I am able to access this front-end login screen, but that's not the intended use. Any idea what part of Radiant is intercepting my request and redirecting it to the back-end login?
on 2007-05-18 21:20
on 2007-05-18 21:27
Minutes later I discovered all I needed to add was "no_login_required" to the UserController. Nevertheless, I'm sure I'll have other issues... :)
on 2007-05-19 00:24
Ok... so I've figured out that creating front-end extensions isn't really too difficult. There's just one missing piece. Grabbing a Radiant layout and plugging it with my view. If this could easily be done I think many people's problems would be answered, mine included. Any ideas for pulling a layout and plugging it with a view?
on 2007-05-19 02:30
We've (John, Adam and I) been discussing a bunch of similar issues at RailsConf. Rest assured we have some ideas up our sleeves that will help with this, and hopefully have some first steps before then end of the conference. Sean
on 2007-05-19 04:12
That is good to hear! I worried that Radiant might be left in the CMS-only camp. Even though a majority of the sites I are content at heart there are inevitably custom needs that beckon Rails to step in. At the same time, it's a little troubling to have to leave Radiant behind since it provides lots of super nice features itself. I'm glad providing the means of utilizing both is being considered. I'm the design you guys come up with will be fantastic! Mario
on 2007-05-19 05:30
Let's be clear -- one thing John has been repeating and I gel with is that Radiant is really for designers and programmers, and I doubt it will deviate from that mission. However, we are doing our best to make customization as painless as possible. Sean
on 2007-05-20 16:27
I totally get your positions and I like that Radiant is geared toward those camps. It's just that those are the people who are seemingly wanting to combine it with custom Rails pages and are asking about the best practices concerning it. One there is a model way for accomplishing this, the sky will be the limit with using Radiant for developing custom, content-centric website. At that point, everything else will be bells and whistles. :) By the way, I do appreciate the energy you've been pouring into the project!
on 2007-05-20 21:10
Mario T. Lanza wrote: > I totally get your positions and I like that Radiant is geared toward > those camps. It's just that those are the people who are seemingly > wanting to combine it with custom Rails pages and are asking about the > best practices concerning it. One there is a model way for > accomplishing this, the sky will be the limit with using Radiant for > developing custom, content-centric website. At that point, everything > else will be bells and whistles. :) It's almost a coincidence that Radiant is programmed in Rails. Yes Radiant is a Rails application, and yes we are going to try and make it somewhat easier to integrate a small part of a Rails app with Radiant, but Radiant is first and foremost a static information oriented content management system made for designers. It is not a custom portal system or a "content management framework for Rails". The Extension system is there to make it easy to extend the admin interface. Replacing your Rails app with Radiant and a ton of custom extensions is probably a bad idea (unless your Rails app is primarily an information oriented CMS). If you have a Rails app that you want to add a few CMS features to, the Comatose Rails plugin is probably a better choice. Keep in mind that Radiant is trying to be a better Movable Type or Textpattern--not a Drubal or Zope for Rails. There is a ton of room for a portal framework in the Rails CMS space. Radiant will never be that type of CMS. -- John Long http://wiseheartdesign.com
on 2007-05-21 00:34
John, I really do get Radiant's intended use--that it's a CMS for designers and developers and nothing complex like Drupal and Zope. I'm a huge proponent for simple, non-bloated software. I hate when the base install of anything has dozens more features than I ever intend on using. (For example, the Oracle version of TOAD has everything including an FTP client. I already have an trusted FTP client. I don't want my database manager trying to meet that need.) That's one reason I love the GNOME products found in Ubuntu. Everything is simple enough to do what it was meant to do and nothing more. I spent a lot of time researching CMS offerings for Rails since Rails/Ruby is what I have chosen to make the heart of how I develop websites, straying from ASP.NET. After looking into other possibilities, I ended up choosing Radiant for its simplicity, the awesomeness of Radius, the elegant interface, and its extensibility. Though I love simpleware, I think everyone likes being able to add on cool stuff that is useful to them. Firefox is an amazing browser because they start with a nice clean base and allow you to choose the add-ons you like and need. Yes, Radiant is a CMS for static sites and that's what I'm using it for. However, if any one thing met my every need that'd be fortuitous. In the end, Radiant meets 90% of my need. Yet, there remains that 10% unmet need that I simply cannot abandon. So do I chuck Radiant simply because it only gets me 90% of the way? I don't think so. I just start brainstorming for ways to squeeze out the 10%, if not from Radiant, then from Rails. Please know that I am not trying to frustrate you by having some ill-conceived notion that Radiant should be all things to all people. I'm simply looking to discover ways of effectively combining Radiant (my 90% solution) with Rails (for the other 10%). I'm not expecting, nor do I want anything like, Drupal. I can understand that it can be overwhelming as everyone asks for you to throw in their own version the "kitchen sink." I'm sorry if that's how I've made you feel. :) ~Mario
on 2007-05-21 06:19
On May 20, 2007, at 3:34 PM, Mario T. Lanza wrote: > Yes, Radiant is a CMS for static sites and that's what I'm using it > for. > However, if any one thing met my every need that'd be fortuitous. In > the end, Radiant meets 90% of my need. Yet, there remains that 10% > unmet need that I simply cannot abandon. So do I chuck Radiant simply > because it only gets me 90% of the way? I don't think so. I just > start > brainstorming for ways to squeeze out the 10%, if not from Radiant, > then > from Rails. Mario, all of this was well said. I particularly empathize with the above. aiwilliams
on 2007-05-21 07:25
Right... I totally understand that, and I feel your pain. Maybe what we should have said was PDI (Please Do Investigate), There are a lot of things that we just can't do in a general way to be used by everyone. The best way is to do it yourself, then extract -- just the way Rails was developed. Sean