Front-end Extensions? need help

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?

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…
:slight_smile:

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?

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

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

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

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. :slight_smile:

By the way, I do appreciate the energy you’ve been pouring into the
project!

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. :slight_smile:

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 L.
http://wiseheartdesign.com

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

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. :slight_smile:

~Mario

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