Every repository with this icon (
Every repository with this icon (
| Description: | Radiant is a no-fluff, open source content management system designed for small teams. edit |
-
undefined local variable or method `template_extensions' for #<Mailman:0xb7082f70>
1 comment Created 7 months ago by jmonteiroWith ActionMailer, I have created a Mailer where I try to deliver some email.
But when I does this, I got the following error:
NameError (undefined local variable or method `template_extensions' for #<Mailman:0xb7082f70>)How to reproduce the error:
- Clone Radiant
- Create a mailer (for example, script/generate mailer Mailman)
- Write a method
- Call the deliver_method_name
- You got the error!
This error is happening in the line 43 of the file http://github.com/radiant/radiant/blob/e4b8fc8f3281d2888556d569f2241e14a1942ec9/lib/plugins/extension_patches/lib/mailer_view_paths_extension.rb#L43, where template_extensions isn't being found.
Comments
- Clone Radiant
-
rake radiant:update should update environments
1 comment Created 7 months ago by johnmuhlconfig/environments/development, production, test.rb need to be updated to remove references to ResponseCache when upgrading from 0.6.x or 0.7.x versions
Comments
saturnflyer
Wed Jun 10 18:32:33 -0700 2009
| link
radiant:update:configs now updates instance config/environments. Closed by 7aaa2da
-
it "should return the view paths in inverse order to the loaded" fails
1 comment Created 7 months ago by ebrett1)
'Radiant::ExtensionLoader should return the view paths in inverse order to the loaded' FAILED expected: ["/Users/developer/Activeshift/liam/test/fixtures/extensions/02_overriding/app/views", "/Users/developer/Activeshift/liam/test/fixtures/extensions/01_basic/app/views"],
got: ["/Users/developer/Activeshift/liam/vendor/radiant/test/fixtures/extensions/02_overriding/app/views", "/Users/developer/Activeshift/liam/vendor/radiant/test/fixtures/extensions/01_basic/app/views"] (using ==)/Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/expectations/fail_with.rb:35:in
fail_with' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/matchers/operator_matcher.rb:39:infail_with_message' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/matchers/operator_matcher.rb:61:in__delegate_operator' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/matchers/operator_matcher.rb:51:ineval_match' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/matchers/operator_matcher.rb:29:in==' /Users/developer/Activeshift/liam/vendor/radiant/spec/lib/radiant/extension_loader_spec.rb:134: /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_methods.rb:40:ininstance_eval' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_methods.rb:40:inexecute' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:53:intimeout' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_methods.rb:37:inexecute' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_group_methods.rb:207:inrun_examples' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_group_methods.rb:205:ineach' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_group_methods.rb:205:inrun_examples' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/example/example_group_methods.rb:103:inrun' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/runner/example_group_runner.rb:23:inrun' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/runner/example_group_runner.rb:22:ineach' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/runner/example_group_runner.rb:22:inrun' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/runner/options.rb:119:inrun_examples' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/lib/spec/runner/command_line.rb:9:inrun' /Library/Ruby/Gems/1.8/gems/rspec-1.2.6/bin/spec:4:Finished in 1.763736 seconds
257 examples, 1 failure
Comments
-
1 comment Created 6 months ago by seancribbscucumber.rake fails if an older version of cucumber is installedseancribbsxrake aborted!
undefined method `fork=' for #<Cucumber::Rake::Task:0x187c4bc>
/Library/Ruby/Gems/1.8/gems/radiant-0.8.0/Rakefile:10Comments
saturnflyer
Tue Jun 30 13:23:18 -0700 2009
| link
Require Cucumber version 0.3.9 or greater from cucumber.rake Closed by b718dd6
-
setting config.extensions -= [ :ext_name ] in environment.rb doesn't work
3 comments Created 5 months ago by johnmuhlsee: http://gist.github.com/139708 for the error message
Comments
saturnflyer
Sat Aug 01 06:07:25 -0700 2009
| link
This works for me on edge.
saturnflyer
Sat Aug 01 11:18:39 -0700 2009
| link
done!
-
any user to a radiant site can use refresh or shift+refresh (aka "force reload") to bust the cache for all assets on the page. adding
:allow_reload => falseand:allow_revalidate => falsecause rack-cache to ignore such request, thus limiting the cache busting to radiant's internal validation. the bottom of http://tomayko.com/src/rack-cache/configuration has more information.http://github.com/johnmuhl/radiant/commit/bb1741fcae68e3c0550dce221b744609b009c022 contains the patch
Comments
saturnflyer
Fri Jul 31 20:58:59 -0700 2009
| link
Merged. Thanks!
-
Line 126 of public/javascripts/admin/admin.js should be:
if (tabControl.tabs.get(pair.key).label == name) {
instead of
if (tabControl.tabs.get(pair.key).caption == name) {
Or, alternatively, line 105 of public/javascripts/admin/tabcontrol.js should be
this.caption = label || id;
instead of
this.label = label || id;
Comments
saturnflyer
Fri Jul 31 20:12:32 -0700 2009
| link
Properly check for existing page parts when creating a new part. Closed by 6f7676c
-
3 comments Created 4 months ago by johnmuhledge breaks the ability to deploy to a read-only server (e.g. heroku)saturnflyerxcommit 4f2ba63 specifically the ensure_cache_file method breaks the ability to deploy to heroku by forcing the creation of cache/entity on boot up. apparently this all happens before the environment is loaded so settings there that change the cache location are ignored and heroku complains about you trying to write to a read-only file system.
Comments
saturnflyer
Thu Jul 30 08:29:13 -0700 2009
| link
This is on my radar. I'll check it out.
saturnflyer
Fri Jul 31 20:45:52 -0700 2009
| link
Store config_cache file in tmp. Closed by 981c1d6
-
expanding pages in admin breaks if deployed to suburi
3 comments Created 4 months ago by yeahwhen radiant is deployed to a suburi (e.g. http://myhost.com/radiant/ ), the following line breaks the expanding of pages:
reason for that is the absolute link to '/admin/pages/...' there.
Comments
saturnflyer
Sat Aug 01 06:10:22 -0700 2009
| link
I suggest you alter the script to suit your application path. Just make it
'/radiant/admin/pages'thats what i did. i just wanted to raise this here so that people would know. i think radiant should make a statement on whether suburi installations are supported or not. if they are, this is a bug that needs to be fixed. if they aren't thats cool, we could just set up a wiki page which describes this (and maybe other) issues that you have to deal with if you try it anyways...
saturnflyer
Sat Aug 01 11:18:15 -0700 2009
| link
Considering that this is a static file, I don't think there's much we can do. If there are other issues related to this, please do submit them. Or feel free to create a wiki page.
-
Bug in mailer extension: wrong number of arguments
3 comments Created 4 months ago by nicolasconnaultI'm not sure where to submit this, there doesn't seem to be an issue tracker page for this extension.
Here is the form I created:
<r:mailer:form>
<legend>Enter your contact information and message.</legend> <table> <tr><td> <r:if_error on='name'><p class="error">Name is required</p></r:if_error> <label for="name">Name</label></td><td><r:text id="name" name='name' required='true'/> </td></tr> <tr><td> <r:if_error on='email'><p class="error">Email is required</p></r:if_error> <label for="email">Email</label></td><td><r:text id="email" name='email' required='true'/> </td></tr> <tr><td> <r:if_error on='message'><p class="error">Message is required</p></r:if_error> <label for="email">Message</label></td><td><r:textarea name='message' required='true'/> </td></tr> <tr><td colspan="2"><input type="submit" value="Send" /></td></tr> </table></r:mailer:form>
Now the "mailer" part:
subject: "Sent from your mailer form"
redirect_to: /contact/thanks
from_field: email
recipients:
- email@gmail.comAnd the "email" part:
from: <r:mailer:get name='name'/>, <r:mailer:get name='email'/>
message:
<r:mailer:get name='message'/>Finally, the stack trace that is printed when I submit an empty form:
/!\ FAILSAFE /!\ Sat Aug 01 10:07:29 +0800 2009 Status: 500 Internal Server Error wrong number of arguments (1 for 2)
/usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/metastore.rb:94:in `restore_response' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/metastore.rb:94:in `invalidate' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/metastore.rb:93:in `map' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/metastore.rb:93:in `invalidate' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/context.rb:137:in `invalidate' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/context.rb:69:in `call!' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rack-cache/lib/rack/cache/context.rb:50:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/head.rb:9:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/methodoverride.rb:24:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/actionpack/lib/action_controller/params_parser.rb:15:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/actionpack/lib/action_controller/rewindable_input.rb:25:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb:93:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/actionpack/lib/action_controller/reloader.rb:9:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/actionpack/lib/action_controller/failsafe.rb:11:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/lock.rb:11:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/lock.rb:11:in `synchronize' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/lock.rb:11:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:106:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/urlmap.rb:46:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/urlmap.rb:40:in `each' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/urlmap.rb:40:in `call' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/railties/lib/rails/rack/log_tailer.rb:17:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/chunked.rb:15:in `call' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:61:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run' /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/mongrel.rb:34:in `run' /usr/lib/ruby/gems/1.8/gems/radiant-0.8.0/vendor/rails/railties/lib/commands/server.rb:111 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' script/server:3Comments
saturnflyer
Fri Jul 31 19:30:09 -0700 2009
| link
You may submit issues here: http://github.com/radiant/radiant-mailer-extension/issues
nicolasconnault
Fri Jul 31 20:30:33 -0700 2009
| link
Posted in the wrong place, sorry.
ehaselwanter
Mon Nov 02 02:08:26 -0800 2009
| link
this one is already fixed by seancribbs, I guess (POST and cache as keywords ...)
-
1 comment Created 3 months ago by johnmuhlapplication (500) errors without tmp/cache/entity and/or tmp/cache/metaseancribbsxoften when i'm having trouble with differences between the browser's cache and radiant's cache i just
rm -r tmp/cache, clear the browser cache and reload. up until 0.8.1 this worked fine; radiant would just recreate the necessary folders as needed. now i get an application error until i manually recreate the cache directories; e.g.mkdir -p tmp/cache/entity tmp/cache/metaComments
seancribbs
Sun Sep 27 11:46:54 -0700 2009
| link
Verify that the cache directory exists before trying to store a response. Closed by 3682d66
-
2 comments Created 3 months ago by jlongDo not allow an administrator to remove his own admin privileges0.9.0xComments
saturnflyer
Sun Dec 06 09:30:03 -0800 2009
| link
prevent admin from removing own admin role. Closed by 05e8c3b
-
1 comment Created 3 months ago by jlongPage parts that have been saved and then deleted reappear after savingseancribbsxTo reproduce:
- Add a page part to a page.
- Save the page.
- Delete the page part.
- Save the page again.
Comments
seancribbs
Sun Sep 27 11:31:29 -0700 2009
| link
Fix page-part deletion in JS. Closed by 209c327
- Add a page part to a page.
-
1 comment Created 3 months ago by jlongThe radiant:import:prototype:* rake tasks should be hidden in instance modeseancribbsxComments
seancribbs
Sun Sep 27 11:56:56 -0700 2009
| link
Undefine prototype rake tasks in instance mode. Closed by b3a4b69
-
If you request a hidden page in live mode, you get FileNotFound, but if you request it in dev mode, you get the page, just like a draft. Seems like 'hidden' should mean never visible in any mode.
(formerly lighthouse #65)
Comments
-
1 comment Created 2 months ago by jlongErrors when changing your password should be shown0.9.0xComments
saturnflyer
Sun Dec 06 11:30:59 -0800 2009
| link
Properly display errors on user password changes. Closed by d4c6714
-
3 comments Created 2 months ago by radiant0.9.0xsaturnflyerxUpdate the tab creation DSL for extensionsseancribbsxBasic Syntax for new tabs:
add_tab "Design" do add_item "Layouts", "/admin/layouts" add_item "Snippets", "/admin/snippets" endJavascripts and Stylesheets extension:
tab "Design" do add_item "Javascripts", "/admin/javascripts" add_item "Stylesheets", "/admin/stylesheets" endIn another extension:
tab("Design").add_item "Templates", "/admin/templates", :after => "Stylesheets"Comments
saturnflyer
Wed Oct 07 20:15:48 -0700 2009
| link
Slight change, the syntax for adding and selecting should be the same so we don't have to worry about dependency checking.
Instead of
add_tabwe'll just usetabI'd suggest that we make add_tab an alias of tab. That way we can still reveal the intention.
Where are we on this, btw?
saturnflyer
Sat Dec 05 21:25:38 -0800 2009
| link
Updated with 3f6a102
-
Dears,
is supporting CouchDB in Radinat CMS Plan is included and in which road map
Thanks,
Comments
seancribbs
Fri Oct 02 06:09:31 -0700 2009
| link
This is non-trivial and will need to wait until there is better support in Rails for switching out the database layer.
-
Breadcrumb links broken when used inside <r:navigation>
4 comments Created 2 months ago by andrewreidConsider the case where you may only want breadcrumbs displayed on your child pages, not the home page. You might use a <r:navigation> block like this:
<r:navigation urls="Home: /">
<r:normal>My website: <r:breadcrumbs />
</r:normal> <r:here></r:here> <r:selected>My website: <r:breadcrumbs />
</r:selected> </r:navigation>So, when you visit, say www.myradiantsite.com/products/apples, you'd expect to see breadcrumbs generated that look like:
Home > Products > Apples
... Which is what happens, but the links generated on 'Home' and 'Products' both point to '/'. That is, Products should link to '/products' but links to '/'. This appears to only occur when the breadcrumbs are inside the <r:navigation> block.
Comments
seancribbs
Mon Oct 05 04:45:45 -0700 2009
| link
<r:navigation> defines its own <r:link /> tag which is different from the default. This is by design. If you need to use breadcrumbs within this scenario, consider using something other than <r:navigation>.
Or... can you explain why you would want to use the breadcrumbs tag inside of the navigation tag?
andrewreid
Tue Oct 06 20:36:57 -0700 2009
| link
I wanted conditional breadcrumbs - essentially, if the page was one of my "heading" pages, do not display breadcrumbs, if it was a child "content" page, display them.
I've managed to work around the problem by displaying breadcrumbs for every page except the home page using <r:if_parent>, so my issue is moot. I suppose it's a case of me using navigation for something other than its intended purpose, so whether or not this should be considered a "bug" is a matter of interpretation! :-)
-
6 comments Created 2 months ago by shurikkerrors when running radiant with prefix (server --prefix=/something)0.9.0xone won't be able to expand page's children if radiant is running under a prefix/namespace
possible solution might be fixing sitemap.js and rely on document.location, rather than hardcoded '/admin' in XHR calls
observed in 0.8.1, but checked repo, looks like the problem is still there
Comments
do you mean
--path=? i just tried the master branch withscript/server --path=rand there seem to be a lot more problems than what you describe (and expanding/collapsing children was not one of those problems). or are you using passenger's option to run from a sub-directory?yes, my bad, --path or -P that is, same applies when running radiant using passenger with RailsBaseURI. I haven't tried to run that from the trunk, but checked sitemap.js it's a bit different than in 0.8.1
at some point i thought it's not very important to run radiant under a prefix/namespace but realized that i have (example):
- domain.com/site (raidant) - domain.com/app1 (rails app1) - domain.com/app2 (rails app2) etc.i have proxies (entry point) and they decide how to route traffic for different apps, and this way apps can reuse css from domain.com/site
saturnflyer
Tue Dec 15 21:48:48 -0800 2009
| link
Please test the master branch as of this commit http://github.com/radiant/radiant/commit/047f9d9da01890116e6abb669347f2145a4bb6a5
If you have any further problems, please report them here. Otherwise, let us know if the problem is solved and we'll close this ticket
saturnflyer
Wed Dec 16 04:24:58 -0800 2009
| link
Closing
-
3 comments Created 2 months ago by johnmuhlpage part tabs are broken in ie80.9.0 maybexdefault ie8 install on windows xp. http://skitch.com/johnmuhl/nn23q/windows-xp
switching to compatibility mode fixes the issue (as does switching to the real ie7)Comments
-
3 comments Created 2 months ago by ihokaRake fails when having the cucumber 0.4.0 gem installed0.9.0 maybexRunning
rake -T
rake aborted! undefined method `feature_pattern=' for #<Cucumber::Rake::Task:0x1aba814> /Library/Ruby/Gems/1.8/gems/radiant-0.8.1/Rakefile:10
The lines raising the error are in "radiant/lib/tasks/cucumber.rake:13" and "radiant/lib/tasks/rspec.rake:76":
t.feature_pattern = "#{RADIANT_ROOT}/features/**/*.feature"Commenting them out makes it possible to run rake tasks, although I expect it breaks the running of Radiant's features.
Cucumber has changed the way you specify the files containing features. From the cucumber History.txt file:
=== Removed Features * The feature_list, feature_pattern, step_list and step_pattern properties are removed from the Rake task. Use profiles instead. (Aslak Hellesøy) * The FeatureTask is removed. Use profiles instead.
Comments
roblevintennis
Sun Nov 15 16:00:21 -0800 2009
| link
I've had problems with this too! I don't know or understand Radiant enough to create a patch, but it seems that Radiant will need to somehow use Cucumber profiles and get rid of this feature_pattern.
Otherwise, couldn't the Radiant source somewhere say:
gem 'cucumber', '< LOWEST_NON_WORKING_GEM_VERSION_NUMBER' (i.e. 0.4.0 or something?). Looking at my pickaxe page 230 it shows such an example which uses < 1.0 and so the gem loader will essentially consider only the version < 1.0 that's on the system even if higher version are also available. This would allow us to keep our 0.4.+ version of Cucumber, and simply install an additional earlier cucumber and all would be (at least for now) solved.
roblevintennis
Sun Nov 15 16:12:02 -0800 2009
| link
Actually I just added this inserted into line 4 of cucumber.rake:
gem 'cucumber', '0.3.104' And it just worked! Of course first I had to do:
sudo gem install cucumber --version '0.3.104'
which appears to be the version just before 0.4.0
My hack is horrible as it uses a specific gem version. I think the less than gem 'cucumber', '< SOME_VERSION' is better for whoever would want to put a 'band aid' on this until Radiant gets properly patched.
seancribbs
Sun Dec 13 16:24:36 -0800 2009
| link
I've updated master to the latest cucumber, although the features no longer pass.
-
Radiant 0.8.1 had a "help_text" region
- render_region :top do |top|
- top.help_text do
This doesn't exist in 0.9. But in admin_ui.rb there still is a refference.
So, you need to either add back the "help_text" or remove the reference from admin_ui.rb.
I took the liberty of choosing a solution (and removed the reference). Here's the commit:
http://github.com/cristi/radiant/commit/d2c4367d45e8d0e8d0c3532cefb3a027d6770329
Comments
- render_region :top do |top|
-
I just stumbled across http://github.com/netzpirat/radiant-multisite/. It's an instance with extensions that all work together. These distros should be registered somewhere.
Comments
Possibly. I think that once we have radiant broken into a couple of gems, with a standard mechanism for creating a distro gem and installing using it, that might be the time to introduce something official like this to the registry. I'm closing this for now.
-
Just a reminder for me to look at it and see if it can be improved.
Comments
I re-implemented Radius parsing in Treetop and it was 27% slower. Based on my experience with RedCloth, I thought Ragel's generated parsers were slow and inefficient, but I guess not!
Last time I checked, though, Ragel parsers in Ruby weren't 1.9 compatible.
-
Tags that load other pages should look at their AST and see what will be needed inside so it can use eager loading and save db calls
Comments
I did some benchmarking on this to determine if it's even worth doing. I think I could make it fairly elegant and out-of-the-way, but is there lower-hanging fruit? The research:
Given a parent with 50 children, each of which has two page parts...
- A regular page.children.each {|c| c.part('body') } (repeated ten times after a rehearsal cycle) takes 0.68 seconds total.
- Eager loading, including just the body parts with the children takes 0.34 total.
- Eager loading all parts associated with children is 0.54.
- Of course, with eager loading you also have to find the part in child.parts array. Otherwise, child.part('body') does a separate SQL query and then eager loading is worse (0.91).
Eager loading with only the needed parts of children (#2 above) is better than non-eager-loading (#1) when number of children is > 3. Without conditions specifying which parts to eager load (#3), there must be > 5 children.
So, if I could have children tags look inside and determine which associated page_parts, attachments, or other children to eager load, I'd save 340 ms--no small amount when optimizing the load time of a page! Just identifying that parts need to be eager loaded saves only 140 ms and the threshold for number of children is higher, so it will save the average page load a lot less than I'd hoped.
The code for a children:each tag to look for other children:each tags or content tags within itself wouldn't be so hard, but building the nested conditions to achieve the efficiencies of #2 would be quite difficult. The code looks like this:
@page.children.find(:all, :include => :parts, :conditions => {:page_parts => {:name => 'body'}})
The benchmark I used can be found at http://gist.github.com/216206
- A regular page.children.each {|c| c.part('body') } (repeated ten times after a rehearsal cycle) takes 0.68 seconds total.
-
change non-conforming `onsubmit_status` attributes to `data-onsubmit_status`
1 comment Created 2 months ago by johnmuhlis there any reason not to use the
data-*attributes again here?http://github.com/johnmuhl/radiant/commit/9883615a289f41b2ab4a5d39e0647626c8a349cd has it done.
Comments
-
10 comments Created 2 months ago by johnmuhlonsubmit_status overlay messages look wrong in ie7/80.9.0x- completely broken in ie7; no spinner and no text visible
- black text on black background in ie8
Comments
@johnmuhl, can you work on this? I was contemplating reworking this to use a single div with the rounded and opacity SASS mixins.
saturnflyer
Tue Dec 15 21:59:34 -0800 2009
| link
this may be fixed (I haven't checked IE yet) but the old status.js was looking for images in "/images" and not in "/images/adimin". This has been changed to look in the proper location.
saturnflyer
Tue Dec 15 22:14:08 -0800 2009
| link
I can verify that this works in IE8, but there is a gap between the right corners (top and bottom) and the middle of the box. see http://bayimg.com/PajIcaacB
Jim, there wasn't any reason to update status.js to look for them in a different dir. The file application.js should have been handling this. It is loaded after status.js and applies the correct path.
BTW, if you make changes to the Javascript please make sure that they are copied over to the prototype. It's better to work on Javascript updates there.
saturnflyer
Tue Dec 15 22:30:01 -0800 2009
| link
Sorry John, you're right. I'm working too late. I'm removing the changes to popup.js and status.js.
I'm trying to solve problems with relative_url_root and I hadn't found a way to handle that in the prototype with serve. But I do have changes to push there.
I think the prototype needs a branch that tracks what may currently go into Radiant's master. I don't want to pull in anything that is half-baked. Is there a place where the status of the prototype is being tracked (as far as what's valid for the latest Radiant)?
the current master is not working any differently for me in ie 7 or 8. looks like i forgot to note that it only gets messed up in ie 8 when you're deleting a page (or snippet or layout or whatever). both "creating..." and "removing..." overlays are broken in ie 7.
John, can you check this again? I believe I fixed it with the recent status.js update, although there appear to be a lot of other issues with IE 7 & 8 (not status message related). For one, I couldn't even login with IE 7.
-
Hi all, I am looking forward to use 0.8.1 for my company website. I have some trouble though:
The admin interface breaks as soon as I start to edit a page: ActionView::TemplateError (undefined method `name' for #<Hash:0x2a9aeccd30>) on line #1 of /usr/lib/ruby/gems/1.8/gems/radiant-0.8.1/app/views/admin/page_parts/_page_part.html.haml:
The site creates strange links: they contain error messages. Here is an example:
http://www.die-prozessmanufaktur.de/de/seiten/de/<div><strong>undefined method 'relative_url_root' for#<ActionController::Request:0x2a9b57e7c8></strong></div>
Any help is greatly appreciated!
Thanks,
AndreasComments
That's very strange. Are you using the radiant with any extensions?
saturnflyer
Tue Dec 15 08:08:49 -0800 2009
| link
I'm guessing that this has something to do with running Radiant in a sub-directory. andreash, do you have more detail on this? I'm inclined to close this bug otherwise. It's a month old with no further comment after jlong asked for more detail.
-
The /vendor/extensions/textile_filter/textile.html file embeds a non-existent image from radiantcms.org.
This should be removed.
Comments
saturnflyer
Tue Dec 15 21:56:51 -0800 2009
| link
Closed with 8e39e0e
-
add some css to give more indication than what browsers provide by default.
Comments
for people who tab through the interface instead of pointing and clicking
Would a simple underline or removal of the underline on the link work?
in some cases. but what about the interface tabs? would you add an underline to "Content"? i was thinking that you'd just duplicate the :hover styles throughout.
Duplicating the hover styles sounds good. Can you work this out in the prototype and then copy it over into the app?
having tried implementing this in the prototype it's clear this requires altering more than just :focus styles so is probably best done as an extension.
the main obstacle is stopping textareas from capturing tabs as that prevents a user from ever being able to tab out of the textarea so my thinking is that there is no reason to have any focus styles if the interface is not actually navigable without a mouse.
I'm not sure. I tend to think that focus styles are nice even if the focus gets trapped on a textarea. Someone suggested that we make Ctrl+Tab get you out of a text area.
they're certainly nice but i don't think they're particularly interesting unless you can actually use the interface without the mouse. as it is you can't even save a page without dragging out the mouse. it seems to me users with limited mobility would be quite frustrated by not being able to save their changes regardless of how nice the focus styles look.
i'd certainly be willing to work on this further if there were a way to escape from the textareas using control+tab (or whatever keyboard only method) but without that i just don't see much point in spending the effort as a keyboard only interface seems most beneficial to those who actually can't use the mouse.
-
Perhaps in 0.9.0 we can have a File Uploader with a corresponding progress bar.
Comments
-
The extension script is broken on Windows. See this thread for details:
http://old.nabble.com/The-system-cannot-find-the-path-specified.-td26298266.html
I've looked through script.rb and found several system commands in there that separate commands with a semicolon. This does not work on Windows where a single & should be used instead:
http://www.robvanderwoude.com/condexec.php
E.g.:
require 'tmpdir'
system "cd #{Dir.tmpdir} & dir" # this works
system "cd #{Dir.tmpdir}; dir" # Error: "The system cannot find the path specified."To hack around the problem, I simply did a search and replace, changing all semicolons to ampersands. Once I had done this, the script worked perfectly on Windows.
Comments
luislavena
Wed Nov 11 16:59:49 -0800 2009
| link
If I can comment, doing semicolon or ampersand make something unportable.
There are several ways to do this:
- Using FileUtils.cd witha block, to ensure path get restored after execution
- Build better command lines that output to the target directory instead of requesting cd into it
For the second option, Git and Subversion allow the last parameter be the target directory.
If you ask me (which no-one did) I would say FileUtils fits better than shelling out in a non-portable way.
Cheers.
-
1 comment Created 18 days ago by saturnflyersubmitting invalid user form loses navigation context0.9.0xIssue 37 was closed, but when an invalid user form is submitted, the tab's nav items are missing and no tab is selected.
Comments
saturnflyer
Tue Dec 15 21:51:14 -0800 2009
| link
this seems to be invalid. I can't recreate the problem I saw before.
-
Use "breadcrumb" instead of "title" for admin area
11 comments Created 11 days ago by ConstantineYurevichFor SEO resasons there are almost no titles like "Home" or "Contact", most likely title will look as "Free HTML temalates | Home" or "Contact us for website development | Company name". That makes pages tree in admin area quite confusing. Much more convenient would be to use "breadrumb" field for titles in Pages tree of admin area.
Comments
seancribbs
Sun Dec 13 14:40:12 -0800 2009
| link
There is no reason why you have to use the r:title tag to create your HTML title. You could also use the existing "description" or "keywords" fields for those purposes. My point is, this does not seem compelling enough to change.
ConstantineYurevich
Sun Dec 13 22:31:02 -0800 2009
| link
description should be used for meta description, keywords should be used for meta keywords. Why should I use this fields for meta title? Another solution is to change "breadcrumb" field to the "Meta title" field, and use it for this purpose, but this way it will be necessary to change "<breadcrumbs>" radius tag to use Title for breadcrumbs menu generation.
seancribbs
Mon Dec 14 05:26:24 -0800 2009
| link
I was just proposing potential solutions, not best practices. If it's really important to you, I suggest you write an extension that adds an "SEO title" field or something like that. Again, this is not enough of a problem to change the core behavior and confuse the larger user base.
Actually Sean, this is an interesting suggestion. Sometimes I've also been bothered by excessively long titles in the site map. (I think you may have missed his point.)
ConstantineYurevich
Thu Dec 17 00:40:52 -0800 2009
| link
Agree, and the only thing, that needs to be changed is "radiant/app/helpers/admin/node_helper.rb".
Currently functions is the following:
def node_title%{<span class="title">#{ h(@current_node.title) }</span>}end
seancribbs
Thu Dec 17 05:43:32 -0800 2009
| link
I understand the problem exactly, John, I just don't think using the breadcrumb is the solution. You'd also be potentially confusing and alienating tons of existing users. -- "Huh? I just changed the title, why didn't it save?"
ConstantineYurevich
Thu Dec 17 05:49:00 -0800 2009
| link
Another more logical solution is to leave Title as is and replace breadcrumb field with "Meta title" field. But this way it will be necessary to modify "breadcrumbs" tag to use "Title" field instead of "beadcrumb" field. This way "Title" will be considered as breadcrumb/sitemap/navigation title, and "Meta title" will be considered as browser page title (SEO).
On further reflection I sympathise, but tend to agree with Sean on this one.
seancribbs
Thu Dec 17 10:36:05 -0800 2009
| link
The addition of the description/keywords fields was a half-baked attempt to help some people with SEO. Perhaps we just need another field, or we need to get "page attributes" rolling.
seancribbs
Thu Dec 17 10:52:02 -0800 2009
| link
-
Radiant 0.8.1 boot.rb rubygems function will give undefined load_rubygems error while doing bootstrap db. To fix this is easy:
fix boot.rb's rubygems_version() to:
def rubygems_version Gem::RubyGemsVersion.nil? ? '0.0' : Gem::RubyGemsVersion endComments
saturnflyer
Tue Dec 15 08:05:39 -0800 2009
| link
-
There are display:none on password fields on new user page
Comments
saturnflyer
Tue Dec 15 18:42:54 -0800 2009
| link
show password fields with new user. Closed by 4b3dd86
-
was:
rake radiant:updatehangs in release.rakeOn or around line 69. Only seems to occur when Radiant is frozen in vendor.
Spree uses the generator script to accomplish this:
spree -uComments
-
0 comments Created 2 months ago by seancribbsJavascript to stop you from navigating away from a page with changes0.9.0 maybexIt would be nice if the page/snippet/layout editor used some method of preventing a user from navigating away from a page when unsaved changes have been made to that page.
(formerly lighthouse #6)
Comments
-
0 comments Created 2 months ago by seancribbsAdd callbacks to javascript page parts adding/selecting functions0.9.0 maybexSomething like this:
var TabControl = Class.create({ [skipped]
select: function(tab) { [skipped]
this.select_callback(tab.label);
},
select_callback: function(pagename){}, });
Ed. IMO it would be better to fire custom events. Like tab.fire("tab:selected") or something. Then you can just observe.
(originally lighthouse #45)
Comments
-
2 comments Created 2 months ago by seancribbsAbility to change order of page parts as displayed in the editor0.9.0 maybexIt would be useful (for obsessive compulsive folks) to be able to change the order in which the page parts are displayed.
(originally lighthouse #7)
Comments
-
0 comments Created 2 months ago by jlongBreak Radiant into several different extensions0.10.0xThe core should be broken out into several different extensions, I'm not sure if this is the exact split that we want, but something like this:
- Users/Permissions
- Snippets
- Layouts
- Pages
- Settings
- Generator?
This way, once Radiant extensions can be used via gems, we will be able to replace parts of the core with ease (ex. the Users/Permissions model a more fine-grained Access/Control model).
Comments
-
This is part of the over all strategy of breaking Radiant into several different extensions that can be used interchangeably with other extensions that provide a more robust features.
Comments
-
Provide support for internationalization of the admin interface for Radiant and extensions
Comments
come on! a cms in version 0.9 without any internationalization its just useless ... no?
rurounijones
Wed Sep 30 14:11:54 -0700 2009
| link
Definitely something I would consider a "must have" for 0.9.0.
Internationalization was originally scheduled for after 1.0
I agree with jlong. There is no need to bake in i18n right now. Once radiant is feature complete wrt other CMSs, then i18n can be attempted.
rurounijones
Wed Sep 30 14:23:08 -0700 2009
| link
Really? There have already been 3 occasions for me where I have been unable to recommend Radiant due to lack of internationalisation. I also believe questions about it pop up relatively regularly on the mailing-list [citation needed]
Regardless of the original Roadmap I think the sooner internationalisation is in Radiant the better.
My $0.02
seancribbs
Wed Sep 30 14:25:04 -0700 2009
| link
Keith Bingman has shown that i18n is achievable in the near term. If you want to see it happen, don't complain, contribute.
@rurounijones: I agree i18n is better than no i18n. But when there are important features waiting to be implemented, one must focus there. Especially so if resources in terms of developers and contributors (translators even) are limited.
I have it basically working with the Blade interface. Please give me a hand and we can get it in for 0.9. Monday I will be tackling extensions with a friend of mine. i18n is not that hard and very much needed as soon as possible.
PlanetMaster
Thu Oct 01 00:00:13 -0700 2009
| link
as a european user, internationalization is indeed an important feature. I also have a project coming that would benefit from this.
I18n is also a very important feature for me as a european user. Without it, it's hard to sell radiant to non english speaking customers ...
But it would not be a good thing if I18n was integrated without proper thinking. You guys have done a great job so far, so keep the good pace, I trust your judgment.
Please check out the i18n Branch. It should be working with the Blade interface now. And we have translations for German, Russian, Japanese and French. I am still looking for especially Spanish and Italian and really anything else. You can fork the Branch and let me know.
Does this allow extensions to provide translations for any UI components that they add?
Unfortunately, no. But I think I know how and that is the next thing to do on my list. I should actually have time this weekend. On Monday, my boss and I want to pair up on it, we need it for a site we are doing, so that should help.
However, this is an area where I need some help.
looking at this link, I think this should be pretty easy. If I remember correctly, Spree has a very similar extension system. You can specify multiple load paths, which is basically all we need. I will look into it tomorrow.
Keith has committed to taking this bull by the horns, so internationalization is now part of the official commitment for 0.9.0.
tschundeee
Tue Oct 06 19:09:35 -0700 2009
| link
nice to hear that! if you need a german translation I am willing to contribute :)
If you'd like to contribute, fork the i18n branch and submit pull requests to kbingman.
jlong:
Does this allow extensions to provide translations for any UI components that they add?
Just done i18n for paperclipped on i18n branch. Everything is translatable.
http://github.com/antono/paperclipped/commit/5b778abe136978b547e078fcfef941b3da6db142i18n seems to be enough stable but need rebasing on master branch.
-
3 comments Created 2 months ago by jlong0.9.0 maybexProvide a way for filters to create their own toolbarsjgarberxShould probably be implemented at the same time as #33
Comments
I did it in the prototype. Check it out. Still quite rough, but I didn't want to go too far without others' buy-in.
Any feedback? I still need to:
- Rework link and image insertion code from the textile_editor extension. Currently disabled because it had a namespace conflict.
- Add Markdown support
- Fix a few insertion bugs
- Generally refactor the whole thing :-)
Quite a bit to do yet, so that's why I'd like to hear if you like the direction it's headed before I continue.
-
Implement a "general settings" tab where extensions can easily include their own settings information (already partially implemented in the prototype).
Comments
-
1 comment Created 2 months ago by jlongAdd Javascripts and Stylesheets tabs0.9.0 maybex -
0 comments Created 2 months ago by jlongMake it so that pages are only cached for GETs0.9.0 maybexBy default pages should only be cached for HTTP GETs. POSTs should invalidate the cache for that page.
Comments
-
0 comments Created 2 months ago by jlongPage type should only be set when creating, not editing0.9.0 maybexChange the interface so that the page type is set when you create the page, not when you are editing.
On the page index the "Add Child" buttons should be changed to a drop down menu of page types:
Add Child v
- New Page
- Archive Page
- Archive Day Index Page
- Archive Month Index Page
- Archive Year Index Page
- File Not Found Page
Ultimately this will allow pages to modify the page editing interface based on their type.
Comments
-
0 comments Created 2 months ago by jlongAdd tag and filter references to Snippets0.9.0 maybexThis should be implemented basically just like the the page parts interface
Comments
-
This should be implemented basically just like the the page parts interface
Comments
-
14 comments Created 2 months ago by jlong0.9.0 maybexAdd a drop down menu for adding snippets to page partsjgarberxComments
saturnflyer
Wed Sep 30 13:57:57 -0700 2009
| link
I'd prefer a more general purpose approach to this. I've barely worked on this in a "browser" extension but I think there should be a way to add snippets, or assets, or anything else that an extensions adds.
By all means, pull something together and we can discuss it
Jim, what would you think of taking the toolbar that textile_editor adds and generalizing it so it's just a toolbar and common API that any extension can use? The advantage of that is it already has code for wrapping highlighted text with stuff (in this case, a radius tag). I can work on it too if you want.
This might be an option: http://livepipe.net/control/textarea I like some of the functionality of textile_editor_helper better, though.
This is cool, but it's jQuery: http://markitup.jaysalvat.com/home/ Might jQuery be in Radiant's future?
Check out this UI mockup: http://www.twitpic.com/jtf3z/full
I'm imagining the snippet button would open a popup listing the snippets with a little disclosure triangle to peek inside the snippet in case you forget what it does. Clicking the name inserts/wraps the snippet and closes the popup.
Similarly, the radius tag button opens the tag reference popup except descriptions are hidden with disclosure triangles. Click the name to insert/wrap the tag and close the popup. Roughly, http://www.twitpic.com/jtfsr
The help icon is for filter reference. Not the most intuitive. Needs more work.
That's the basic idea idea Jason, just a few less buttons. :) Do you want to work on this? Could you get it worked out in the prototype first?
I was thinking that the API for filters could be something like this:
class BlahFilter < TextFilter ... def bold '<b>%{text}</b>' end ... endIf the "bold" method was defined the button would show up on the toolbar.
Keep in mind that there is actually another ticket for the toolbar (#26).
saturnflyer
Thu Oct 01 10:36:12 -0700 2009
| link
Check out http://github.com/saturnflyer/radiant-browser-extension in a pre-blade version of Radiant. It just inserts an area to the right where I planned to list assets/snippets (and the whole thing is very rough).
I think something like that would be better than an overlay because the overlay gets in the way of editing text which is one of the problems with the current tag reference: I can't edit my text while I read the reference. By putting it to the side, it would be easier to read and edit as well as do drag and drop into the editor.
Took awhile to get it working, but I was able to see it eventually. Yes, it would be nice to be able to read the reference while you work on a tag. I think most of the time, though, users (at least my myriad nontechnical ones) will want it out of their way.
So maybe what you're suggesting is that the popup appear beside the textarea? If it were normally hidden and came up beside the textarea only when needed, I could get behind that. Presentation of the popup like a separate issue, though.
Wouldn't it be cool if it would read the tag's available options and let you build the tag with a form? Now I'm getting really far off topic! :-)
Popup.js includes support for draggable windows. It would be trivial to enable this.
I added it as part of a toolbar in the prototype. Check it out. Still kind of rough, but I didn't want to go too far without others' buy-in.
Any feedback on this, yet? Tag insertion is unimplemented so far. I'm thinking it could be simple: If you have text highlighted, it wraps the text in that Radius tag. Otherwise it just inserts the tag self-closing.
saturnflyer
Wed Oct 07 06:15:54 -0700 2009
| link
I've only been able to take a cursory look, but it looks good. The reason I'd prefer an insertion to the side of the textarea is because it keeps the reference out of the way. Even if it is draggable, it still may cover an area that you'd want to be able to read while looking at the help window. I think, however, that this could be something that we try as a draggable window and see how people like it. But I'd personally be quick to hack some configuration to allow it to be docked.
And I think the window ought to have some way to select other options. For example, there is not much difference between a snippet and a radius tag and I can see a situation where a user would want to insert something, click on the radius icon, then remember that it's a snippet, close the window and open the snippet window. If it had some internal navigation for additional options, it'd be easy to add something to include site assets too. So I guess by that measure the image icon could open the window with the assets pre-selected.
I want to add something that references the available options for the radius tags so that we'll be able to include that in the code as in this branch http://github.com/indexzero/radiant/commit/794a5c22a32560a6ed46d4f2984494226a553a9c (although I plan to clean that up a little)
-
0 comments Created 2 months ago by jlongHidden pages should not show up in queries made by tags in dev mode.0.9.0 maybexHidden pages should not show up in queries made by tags (like <r:children>) in dev mode. Note that hidden pages should still be accessible via URL in dev mode.
Comments
-
5 comments Created 2 months ago by jlongAdd a "quick preview" button for previewing pages on the dev site0.9.0 maybexComments
Like "View page after saving" checkbox in Chronicle? Seems like you'd only ever want to preview after saving.
Or do you mean like the View Site button that's been in the upper-right corner forever?
saturnflyer
Wed Sep 30 14:15:46 -0700 2009
| link
I'd think we'd want button/link to view on the live site as well. More often I've just wanted to open a window for the page I'm editing.
But I think this could get tricky if labeled "preview" considering the possible meanings of that, such as "view before saving".
-
10 comments Created 2 months ago by jgarber0.9.0 maybexAPI for draft/versioning extensionsjgarberxRight now you can't work on and preview a draft of a published page. If you switch a page to draft, it goes off the live site. Would like to see concurrent drafts in core.
Sean said, "...And I totally agree about keeping a draft concurrent with the live version, that seems to make everything easier. Let's give it some serious thought, prototype some things and see what pans out. If you'd like to have a sprint/hack day sometime in the next few months, let me know!"
I'll prototype in a branch of my fork.
Comments
I've been using the radiant-concurrent_draft-extension for this feature. It definitely gets the job done but is a bit awkward in a few areas.
http://github.com/avonderluft/radiant-concurrent_draft-extension/
My branch (that I've made work on edge) is at:
seancribbs
Fri Oct 02 07:17:21 -0700 2009
| link
concurrent_draft's awkwardness comes primarily from specific needs that Con-way had in their customized Radiant. The concepts should transfer well, but I'm also leaning toward chronicle's way of working with this.
whistlerbrk
Fri Oct 02 10:49:07 -0700 2009
| link
Is this up for discussion to be included in core? We / I have found that every client/team has different workflow and revisioning needs. So I'd prefer enhancements to the current implementation be in an extension.
Creating more places for those extensions to hook into Radiant to add these behaviors, could be important - but I don't know if that is a problem with the current set of workflow extensions out there.
whistlerbrk: I perceive that the core team is committed to keeping core down to the barest essentials, so don't worry. This enhancement is really filling a gap that's been there from the beginning. Unless your workflow is, "when we are working on a published page, we give visitors a 404 page for a few hours," then you won't even notice this enhancement if you don't want to. (a little humor there).
All this enhancement will do is let you change the status of a published page to draft without the page disappearing from the live site. The page then shows in its published form on the live site and in its draft form on the dev site. If you don't want to take advantage of that, never switch a published page to draft--which you wouldn't have done without this enhancement, I hope. There'll be no revisioning or other changes to workflow.
whistlerbrk
Sat Oct 03 11:50:30 -0700 2009
| link
Oye, I completely misunderstood the ticket, you're right of course, sorry!
jlong and I talked about putting an API in core so that concurrent_draft, chronicle, page_versions, and any other extension can do its work more easily. Sounds like a great idea to me. I've changed the title of this ticket to reflect that.
multi_site would also fit neatly into this API category. I'm supposed to talk with Will Ross at Spanner about it sometime. Wouldn't it be neat if there were enough underlying hooks in core that extensions like chronicle and multi_site wouldn't conflict with each other and wouldn't require custom versions of about every other extension?
seancribbs
Thu Oct 22 13:04:13 -0700 2009
| link
I'm not necessarily sure that it's related, but I have a vision of making extensions more declarative and less imperative -- allowing essentially hooks into the internal API rather than direct modification via #activate. This would allow us to potentially serialize customizations and reduce the number of conflicts.
I want to hear more, Sean! Either write it up somewhere or let's Skype in the near future.
Will and I had a nice chat on Skype. I'm going to make a branch to work on it. We'll have extensions just declare what validation and finder scope they need for pages. Multi_site can declare site scope. Draftable can declare status scope. They can all play together nicely as long as Rails' nested scopes work as advertised.
("Draftable" is my plan to split that simultaneous draft functionality out of Chronicle into its own extension. Then Chronicle can just handle versions)
-
1 comment Created 2 months ago by radiantAllow a user to reset their password0.9.0 maybex -
3 comments Created 2 months ago by jgarber0.9.0 maybexLet extensions declare Radiant version compatibilityjgarberxMy suggestions for requirements:
- Extension authors have a way of specifying a minimum Radiant
version with each release/revision of the extension.
- Extensions not be dependent on authors to specify compatibility
with newer versions of Radiant. If the extension was last updated in
2008 but it works for 0.8 without changes, you don't have to do a
thing. I want to avoid the Firefox Add-ons problem where I upgrade FF
and my extensions are disabled because their authors are behind the
curve. Too pessimistic for my tastes.
- Perhaps some way of the community saying, "this extension needs
fixing before it will work with 0.8." And a way for the extension
maintainer to clear that note once they make the upgrade. (Maybe just
an all-users-writable text field per extension in the registry)
- The extension install script installs the latest compatible
version of an extension.
- Easy upgrades. One command to upgrade Radiant and all my
extensions.
See the discussion in the thread at http://lists.radiantcms.org/pipermail/radiant/2009-June/013139.html
The ray extension might offer some possibilities. We may also want to enhance the ext registry app.
Comments
i doubt ray will offer any possibilities really. the version compatibility in it was written to address the specific use case saturnflyer had and nothing else (and that was a quick hack). not to mention the philosophy behind ray and radiant's built-in extension management is pretty drastically different.
personally i'd like the version compatibility to not be tied to the extension registry so that ray could use the same information to handle this better than the current implementation (and not add even more manual labor to maintaining ray's extension list).
saturnflyer
Wed Dec 16 21:24:14 -0800 2009
| link
This may be solved here http://github.com/jfrench/radiant/tree/extension-gems
Needs specs though.
- Extension authors have a way of specifying a minimum Radiant
-
1 comment Created 2 months ago by jlongAllow a user to login with their e-mail address0.9.0 maybex -
0 comments Created 2 months ago by jlongUpdate the user index under settings0.9.0 maybexI'd like to see something card style, perhaps like basecamp. The person's gravatar should be shown along with their name, username, roles, and possibly the notes on the person.
Comments
-
Region Sets should share a common API with the new tabs
3 comments Created 2 months ago by whistlerbrkSince the navigation api is different, I believe the region sets implementation should be updated to share a similar API.
Additionally, I've noticed that when a region set is overridden the original region set still renders even if it is not displayed. That seems inefficient.
Finally, as I've brought up on the list, two extensions modifying region sets can create interesting load order problems. Is there a way we can adjust region sets (not my hack/patch) to allow referenced but unloaded regions to be created before their dependents are inserted. Problem detailed here:
admin.something.add "foo", :after => "bar"
if "bar" doesn't exist and is created by another extension, this will insert "foo" at the beginning of the region instead of waiting for "bar" to be created.
Comments
saturnflyer
Fri Oct 02 10:06:58 -0700 2009
| link
What about just creating the empty region "bar" and changing add to check if it is empty, and if so, replace it with the one being added (else, error)?
whistlerbrk
Fri Oct 02 10:44:09 -0700 2009
| link
Which is what the patch I sent out essentially does, but it felt dirty.. I can / will clean that up.
But as a whole, updating the region sets would be nice.
This is something else I've run into:
` %table.index - @weights = [] - render_region :extensions_model_columns do |columns|
- columns.name do - @weights << 4 - columns.description do - @weights << 2 - columns.controls do - @weights << 2- @weights.map{|x| x*(100/@weights.sum)}.each do |width| %col{:width => "#{width}%"}
...
%tbody
- if @my_models.any? ... display ... - else %tr{:class => "empty"} %td.note{:colspan => admin.my_extension.index.length} No Records!`
Ideally an internal variable could keep track of the 'weights' so there is a known pattern for extensions to cleanly add a column to a table w/o screwing up table sizes. The implementation above has worked for me, but I know it breaks down (as described above) when a region set is overridden (as it renders regardless and will add weight to @weights)
whistlerbrk
Fri Oct 02 10:45:11 -0700 2009
| link
sigh markdown
-
Change the url tags to operate on and return the full URL. Add a new set of path tags for the case when you just want to work with the path.
This would mean that <r:if_url>, <r:url>, and friends would all work off of the full URL (beginning with "http" and ending with any URL params "?param=value&etc", while <r:if_path>, <r:path>, and friends would operate off of the path for the page ("/parent-page/slug/etc").
Also rig up a migration to change the old <r:if_url> tags to <r:if_path> tags, etc.
Comments
-
This will mostly require merging the updates to Radius from: http://github.com/aemadrid/radius19/
Comments
-
4 comments Created 2 months ago by jlongClicking on a tab should focus on the associated text area0.9.0 maybexComments
custom events should probably be fired from the tab control that can be trapped by other javascript
i have focusing on the associated textarea when clicking a tab working but was wondering if there a preference for placing the cursor at the beginning or end of the textarea.
also i don't understand what the focusing has to do with custom events...i just hooked into the select function which captures clicks on the tabs. surely i'm missing something here.
Do we need to worry about where the cursor is? Don't text areas keep track of that information on their own? What happens by default?
About the custom event comment: I was thinking that the TabControl object could fire a custom event like "tab:selected". You could then trap this event in other javascript (specific to page parts) to focus on the textarea.
But perhaps a custom event is not needed in order to make it generic. The code could just set the focus on the first select, input, or textarea within the tab control. I'm guessing that if we used the tab control in other places that we would want it to work in the same way.
By the way, in regards to the TabControl code being as generic as possible, I think some parts specific behavior has snuck in their recently. We should do what we can to remove that if possible.
i don't see any browser that tracks the cursor position between changing tabs; my guess is that the cursor is left in the hidden tab when you change.
the default behavior for
textarea.focus()is to place the cursor after the last character (at least in all the mainstream browsers i tried). -
0 comments Created 2 months ago by jlongMake block indentation work in Internet Explorer0.9.0 maybexComments
-
Partially implemented in the prototype
Comments
-
0 comments Created 2 months ago by jlongOn the extensions tab, change the "website" link to "more info"0.9.0 maybexComments
-
0 comments Created 2 months ago by jlongWhen extensions are generated, change the generated url attribute to point to a wiki page for that extension0.9.0 maybexThis will encourage people to put documentation for their extension on the Radiant wiki
Comments
-
0 comments Created 2 months ago by jlongHave "Save and Continue Editing" do an AJAX save0.9.0 maybexPopup a statusjs message during the save
Comments
-
every non-logged-in visitor to a radiant site gets infected with a _sitename_session cookie for no apparent reason. i had a look at this and think rails is to blame but is there anything radiant can do to suppress these useless and annoying cookies?
Comments
seancribbs
Sun Oct 18 07:05:58 -0700 2009
| link
We used to use session :off in the SiteController, but that has been deprecated. I believe the answer is to remove SiteController and create a Rack middleware to serve pages.
We modified login_from_session in login_system.rb to check for the session cookie before accessing the session object. This prevents the session from being created.
seancribbs
Thu Oct 22 13:35:15 -0700 2009
| link
Please send a patch and specs!
-
1 comment Created 2 months ago by jgarber0.9.0 maybexLet extensions declare dependency on other extensionsjgarberxBecause sometimes extensions modify the behavior of other extensions. The dependent extensions' migrations should be run after the others.
Comments
(commenting mostly so i get emails about this)
here is how ray has handled this for a while now:
http://johnmuhl.github.com/radiant-ray-extension/#extension-dependenciesi tried to keep the barrier to entry low enough that end-users could fork an extension and contribute a simple self-contained patch back to the maintainers. it can cascade nicely so extension A can depend on B which can depend on C and on and on.
if there is any way to make the mechanism the same between ray and
script/extensionthat'd be great; and i'd be willing to change ray if a better way can be found. -
0 comments Created 8 days ago by saturnflyer0.9.0xdon't post a page with a published date in the futuresaturnflyerxPages with a published date set in the future should not be published until that date.
This extension provides the functionality http://github.com/jomz/radiant-future-publishing-extension/ but the effects of this should be worked out in the prototype/mockups
Comments
-
Users should be able to add new custom attributes to pages within the "meta" area, as indicated in the prototype.
See also: http://github.com/radiant/radiant/issues/#issue/71/
Comments












This is already fixed in the Rails 2.3 branch - that patch is no longer needed.