# Extensions are for...?

**URL:** <https://www.ruby-forum.com/t/extensions-are-for/84313>\
**Category:** Radiant CMS\
**Created:** [February 3, 2007, 12:49am UTC](https://www.ruby-forum.com/t/extensions-are-for/84313 "2007-02-03T00:49:06Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 12:49am UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/1 "2007-02-03T00:49:06Z")

</div>

Hi again. I checked out Mental from the repo, and I’m totally lost. I’m  
interested in these extensions, but…

Someone called them a “vertical slice” (which means nothing to me, btw)  
of a Rails app. I see that calling script/generate extension xxx gives  
me an app directory inside vendors/extensions/xxx. I even see that  
uncommenting a few lines in my xxx\_extension.rb file creates a tab  
inside the Radiant admin. (Clicking on that tab yields uninitialized  
constant Admin::AssetController).

As interesting as all that is, what’s the point? Do extensions merely  
change the administrative interface, or do they modify the way pages can  
be handled? What kinds of actions would I put into a controller inside  
this new app directory? Do I need to add routes? (My current app has a  
heavily modified admin area that visually encompasses Radiant, and every  
time I add an action I have to add another route – very annoying.)

I’d love to help, and I’d especially love to know what’s going on, but  
there’s little documentation anywhere.

I guess my primary question is, do extensions extend the admin interface  
only, or are they also a way to handle tags?

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 1:11am UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/2 "2007-02-03T01:11:43Z")

</div>

On 2/2/07, Daniel W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> As interesting as all that is, what’s the point? Do extensions merely  
> only, or are they also a way to handle tags?

Err… this was discussed previously on the list, also you should  
check the wiki and the weblog of Radiant site:

[http://radiantcms.org/blog/2007/01/23/how-to-getting-mental/](http://radiantcms.org/blog/2007/01/23/how-to-getting-mental/)

## – Luis L. Multimedia systems

Leaders are made, they are not born. They are made by hard effort,  
which is the price which all of us must pay to achieve any goal that  
is worthwhile.  
Vince Lombardi

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 1:29am UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/3 "2007-02-03T01:29:31Z")

</div>

Luis L. wrote:

> Err… this was discussed previously on the list, also you should  
> check the wiki and the weblog of Radiant site:
> 
> [http://radiantcms.org/blog/2007/01/23/how-to-getting-mental/](http://radiantcms.org/blog/2007/01/23/how-to-getting-mental/)

I read that page, and while it’s true the four bullet points answer my  
question, I don’t _see_ those concerns being addressed when actually  
trying to use extensions. I don’t see how a broken tab next Layouts  
helps me administer the rest of my web site. I don’t see how having my  
own set of models and views helps me clean up my tags any better.

What I do see is a disconnect between what’s being said about extensions  
and the things I’m presented with when trying to utilize them.

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 2:37am UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/4 "2007-02-03T02:37:02Z")

</div>

Luis L. wrote:

> > What I do see is a disconnect between what’s being said about extensions  
> > and the things I’m presented with when trying to utilize them.
> 
> Could you rephrase? I’m not a native english speaker so couldn’t  
> understand it clearly.

What it boils down to is I’d like to see an example of an extension in  
use that wasn’t ported over from a behavior. Ideally the extensions  
makes full use of itself, including the controllers, models, views,  
extra Radius tags, etc. As it stands now I have no idea how an extension  
actually works or can be used.

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 3:08pm UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/5 "2007-02-03T15:08:38Z")

</div>

> What it boils down to is I’d like to see an example of an extension in  
> use that wasn’t ported over from a behavior. Ideally the extensions  
> makes full use of itself, including the controllers, models, views,  
> extra Radius tags, etc. As it stands now I have no idea how an extension  
> actually works or can be used.

The LDAP extension was developed from scratch. It has its own  
controllers, models, views, and even a quasi-model that integrates with  
the ruby-ldap library. It creates global tags that are available on any  
page.

Essentially an extension is, as we say, a “vertical slice”. In other  
words, it’s a miniature Rails application that runs inside Radiant.  
What this means is that pretty much anything you can do with Rails, you  
can do with an extension, plus the facilities that Radiant provides like  
Radius tags, admin tabs, etc. So, part of the reason it is vague is  
that you can do _whatever you want_! The sky’s the limit.

Sean

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 10:36pm UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/6 "2007-02-03T22:36:18Z")

</div>

Daniel W. wrote:

> What it boils down to is I’d like to see an example of an extension in  
> use that wasn’t ported over from a behavior. Ideally the extensions  
> makes full use of itself, including the controllers, models, views,  
> extra Radius tags, etc. As it stands now I have no idea how an extension  
> actually works or can be used.

Well, to just answer the question in your original subject:

Extensions are for developers of Radiant, to extend Radiant.  
If you are not a developer wanting to extend Radiant, then  
Extensions as an architecture are not for you.

They can be used by the deploying person to achieve, whatever that  
particular extension  
promises.

And for the end user of the site, they help to adress the specific  
problem, that the extension was developed for.

So, if you dont want or cant extend Radiant, then extensions (as a  
framwork) are not for you.

But if you find a specific extension, which adresses your need, then  
that extension might be for you.

(Its like asking: what is Ruby on Rails for? If you are not a developer  
of web applications, then it is not for you. )

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 1:52am UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/7 "2007-02-03T01:52:45Z")

</div>

On 2/2/07, Daniel W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> own set of models and views helps me clean up my tags any better.

The rest of your web site? Extension are a way to “extend” radiant  
main functionality adding things that address _your_ particular needs,  
all using the same UI (so end-users, ala, _your users_ will use).

Clean up your tags? that’s another story. A Extension could add tags,  
global tags or anything, expose or not an administrative tab, all  
depends on _what your extensions need to do_ and most important, what  
it is for.

> What I do see is a disconnect between what’s being said about extensions  
> and the things I’m presented with when trying to utilize them.

Could you rephrase? I’m not a native english speaker so couldn’t  
understand it clearly.

## – Luis L. Multimedia systems

Leaders are made, they are not born. They are made by hard effort,  
which is the price which all of us must pay to achieve any goal that  
is worthwhile.  
Vince Lombardi

---

<div class="post-metadata">

**Author:** ![dewie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@dewie](https://www.ruby-forum.com/u/dewie)\
**Post date:** [February 3, 2007, 10:43pm UTC](https://www.ruby-forum.com/t/extensions-are-for/84313/8 "2007-02-03T22:43:18Z")

</div>

Benjamin,

Thank you for articulating what I could not!

Sean
