I whipped up a quick extension today that some might find useful. I searched around a little and didn't come with any solutions that I was happy with, form a functional or aesthetic standpoint. It adds a "Settings" tab that provides a nice looking interface to configuration settings. You can easily rebrand your admin with a title and subtitle, set default page parts and publishing status, all with the settings that Radiant supports already. If you're an extension developer and you want to store some settings in the Radiant::Config model, those settings will show up on this tab automatically. Furthermore, it adds a "description" field to each setting in the config table. When you migrate the extension it will fill in some descriptive text for all the default config entries. If your extension uses the config table, you can add your own description to tell the user just what this setting controls. GitHub Project: http://github.com/Squeegy/radiant-settings Screenshots on the Wiki: http://github.com/Squeegy/radiant-settings/wikis Let me know what you think. --- This is a general solution for any configuration settings, but most sites probably won't need it, since many of this is set it and forget it. However, one thing I would like to integrated in radiant core somewhere is a more specific preference pane. A page designed to set all the config options with a more specific and UI, rather than just a list of variables. Is that something you think belongs in Radiant core or not?
on 22.06.2008 09:06
on 04.07.2008 07:16
On Jul 2, 2008, at 10:27 PM, Tim Gossett wrote: > I had a little problem with main branch by Squeegy. > (SettingsExtension.root > was returning nil). I found saturnflyer's fork, released just a day > after > Squeegy's latest, and it works just fine. We don't have plans to try to takeover this extension since Alex is doing a great job with it. Our fork provides the ability to add your own settings because we have at least one server where ruby-inline is not installed so we can't do script/console and having the ability to add new settings was crucial for setting up 'dev.host' I don't recall any SettingsExtension.root problem, so it may just be a fluke that it works in our fork. For the most part, we only forked to help with improving it and writing specs, so keep your eye on the Squeegy repository. -Jim
on 04.07.2008 16:17
Alex Wayne wrote: > I whipped up a quick extension today that some might find useful. I > searched around a little and didn't come with any solutions that I was > happy with, form a functional or aesthetic standpoint. I was wondering if something like this was possible. It looks great, Alex. I'll definitely be using this.
on 04.07.2008 20:17
Alex Wayne wrote: > I whipped up a quick extension today that some might find useful. I > searched around a little and didn't come with any solutions that I was > happy with, form a functional or aesthetic standpoint. > Nice work. > It adds a "Settings" tab that provides a nice looking interface to > configuration settings. You can easily rebrand your admin with a title > and subtitle, set default page parts and publishing status, all with the > settings that Radiant supports already. > > If you're an extension developer and you want to store some settings in > the Radiant::Config model, those settings will show up on this tab > automatically. > One caution, here. The SnS extension does use Radiant::Config so this should give you access to those settings. However, the extension has it's own interface: StylesNScripts::Config which also offers validations (makes sure you don't use invalid path names for your css files, say). This won't cause any problems if you're careful about how you set things but I could see an extension having even more going on (like needing to spawn other methods when setting a value). I guess my point here is to know what you're setting and how that application/extension will handle your twiddling. > This is a general solution for any configuration settings, but most > sites probably won't need it, since many of this is set it and forget > it. However, one thing I would like to integrated in radiant core > somewhere is a more specific preference pane. A page designed to set > all the config options with a more specific and UI, rather than just a > list of variables. > > Is that something you think belongs in Radiant core or not? > I've brought this point up as something I think core needs. And I think it is something that I think John is planning to release in the near term. So I'm with you 100% Where I'd approach it differently is in two areas: * I think Radiant needs a place to store settings (both for its own settings and for extension settings). This way the content lives in one area of the admin panel and settings are located elsewhere. For example, today, content goes in tabs and many of Radiant's settings have their own UI space (users, and extensions) * Just like extensions let you add tabs, Radiant should let you plug into the settings area. That way extension developers can write their own validations, create their ideal UI and also keep users away from the actual db storage. But of course, that's a much bigger task and really belongs as a core thing. -Chris
on 21.07.2008 00:23
Jim Gay wrote: > We don't have plans to try to takeover this extension since Alex is > doing a great job with it. > Our fork provides the ability to add your own settings because we have > at least one server where ruby-inline is not installed so we can't do > script/console and having the ability to add new settings was crucial > for setting up 'dev.host' > > I don't recall any SettingsExtension.root problem, so it may just be a > fluke that it works in our fork. > > For the most part, we only forked to help with improving it and > writing specs, so keep your eye on the Squeegy repository. > > -Jim Thanks for the contributions guys. After a busy few weeks I am back on this stuff. All code has been rolled in and updated. Great work. Being part of this small yet productive radiant communinty is a pretty damn cool thing. Thanks guys! -Alex http://beautifulpixel.com