cpradio
(cpradio)
5 oktober 2015 om 16:09
1
Okay, so Sitepoint just had a big internal discussion over what page the user should see when they first visit your community, and we primarily are interested in Top except for one glaring problem.
Top seems to default to Year for the time frame when not logged in. The results of which are less than thrilling. If it defaulted to the past week or past month, this would be very meaningful, as it would show relevant semi current data, instead of showing topics that were closed and things that were said nearly a year ago!
It also seems to default to Year for a New User (registered immediately).
Has anyone else come across this? Does anyone else find that Month or Week would provide a better idea of what is popular/hot as far as discussions go in your community, than showing Year?
Feel free to visit community.sitepoint.com/top in private browsing to see the difference between Year and Month and Week. The more interesting things really do seem to exist in Month and Week and are not well represented in Year.
2 likes
cpradio:
big internal discussion
Is that what weāre calling them nowadays?
No but really, this is a good idea. Itād give people a good glance at current, popular topics - without the sometimes-trash-or-confusing-mess that is Latest (although a lot of forums mods/actives/etc are bound to prefer that personally) and without the impersonal wall that is Categories.
Hmmm, Iāve not noticed that there is a difference as I always log in.
Maybe an alternative would be to have it be Year but sorted by Activity descending?
riking
(Kane York)
5 oktober 2015 om 16:28
4
I seem to remember some logic about picking the ābestā timeframe for top - e.g. meta should use weekly, hello foros should use daily, and Letās Encrypt should use monthly.
However, these are all using year. Did something break?
cpradio
(cpradio)
5 oktober 2015 om 16:37
5
riking:
I seem to remember some logic about picking the ābestā timeframe for top - e.g. meta should use weekly, hello foros should use daily, and Letās Encrypt should use monthly.
However, these are all using year. Did something break?
Yes, but I think that logic only applies to a logged in user who hasnāt come back for a while. Which is an entirely different scenario. Weāre talking about new visitors, or just registered users, not those who were active and then went awol for a few weeks.
1 like
cpradio:
Yes, but I think that logic only applies to a logged in user who hasnāt come back for a while. Which is an entirely different scenario. Weāre talking about new visitors, or just registered users, not those who were active and then went awol for a few weeks.
And the reason for that is that weāre trying to think of the best landing page for new users, who are either here to browse, get help, etc etc. And while the Categories page isnāt the ideal for those people, neither would the Top page with a year-long time frame. But the Top page with a short time frame might be kind of nice for this purpose.
riking
(Kane York)
5 oktober 2015 om 16:45
7
Idea: what happens if you put top/weekly in the top menu?
Okay that looks a bit weird.
edit: And making it the first option results in a 404 on /.
1 like
That logic is only based on the last time weāve seen the user.
For a new user we have never seen them so we show them best all time. There is no known last seen date.
For a returning user we havenāt seen for a few months, it should default to quarter, for a returing user we havenāt seen in a week, it should use week, etcetera.
cpradio
(cpradio)
6 oktober 2015 om 10:29
9
Right, that was my understanding as well.
This is the part weād like to change, as our Yearly view isnāt nearly as helpful for our community as our Monthly and Weekly views for Top.
1 like
sam
(Sam Saffron)
6 oktober 2015 om 11:19
10
I think itās fine to add a site setting for this for super active sites perhaps
cpradio
(cpradio)
6 oktober 2015 om 11:37
11
Just to make sure the rules are defined right.
Site Setting named default top view for top page, default to Yearly.
Site Setting should not break users returning after a hiatus from the site.
I may have time to look into this over the next week or two.
6 likes
cpradio
(cpradio)
6 oktober 2015 om 13:55
12
Okay, Iām running into an issue and I havenāt a clue how to resolve it.
require_dependency 'enum_site_setting'
class TopPeriodSetting < EnumSiteSetting
def self.valid_value?(val)
valid_values.any? { |v| v[:value] == val }
end
def self.values
@values ||= valid_values.map { |x| { name: x.to_s, value: x } }
end
def self.valid_values
TopTopic.periods.to_a
end
private_class_method :valid_values
end
Iāve got the site setting showing correctly, it seems to validate the value, but it throws a 500 Server Error when saving
Error: Sorry, an error has occurred.
Message
TypeError (no implicit conversion of Symbol into Integer)
/home/discourse/discourse/app/models/top_period_setting.rb:8:in `[]'
Backtrace
/home/discourse/discourse/app/models/top_period_setting.rb:8:in `[]'
/home/discourse/discourse/app/models/top_period_setting.rb:8:in `block in valid_value?'
/home/discourse/discourse/app/models/top_period_setting.rb:8:in `each'
/home/discourse/discourse/app/models/top_period_setting.rb:8:in `any?'
/home/discourse/discourse/app/models/top_period_setting.rb:8:in `valid_value?'
/home/discourse/discourse/lib/site_setting_extension.rb:298:in `add_override!'
/home/discourse/discourse/lib/site_setting_extension.rb:467:in `block in setup_methods'
/home/discourse/discourse/lib/site_setting_extension.rb:364:in `set'
/home/discourse/discourse/app/controllers/admin/site_settings_controller.rb:14:in `update'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/abstract_controller/base.rb:198:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/rendering.rb:10:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:117:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:117:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:505:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:505:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:81:in `run_callbacks'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/abstract_controller/callbacks.rb:19:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/rescue.rb:29:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/notifications.rb:164:in `block in instrument'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/notifications.rb:164:in `instrument'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/abstract_controller/base.rb:137:in `process'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionview-4.2.4/lib/action_view/rendering.rb:30:in `process'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-mini-profiler-0.9.7/lib/mini_profiler/profiling_methods.rb:106:in `block in profile_method'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal.rb:196:in `dispatch'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_controller/metal.rb:237:in `block in action'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/routing/route_set.rb:76:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/routing/route_set.rb:76:in `dispatch'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/routing/route_set.rb:45:in `serve'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/routing/mapper.rb:49:in `serve'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/journey/router.rb:43:in `block in serve'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/journey/router.rb:30:in `each'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/journey/router.rb:30:in `serve'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/routing/route_set.rb:821:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in `call!'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in `call!'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in `call!'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in `call!'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in `call!'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/omniauth-1.2.2/lib/omniauth/builder.rb:59:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/conditionalget.rb:38:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/head.rb:13:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/flash.rb:260:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/message_bus-1.0.16/lib/message_bus/rack/middleware.rb:60:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:225:in `context'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:220:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/cookies.rb:560:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/query_cache.rb:36:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activerecord-4.2.4/lib/active_record/migration.rb:377:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.2.4/lib/active_support/callbacks.rb:81:in `run_callbacks'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/reloader.rb:73:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/better_errors-2.1.1/lib/better_errors/middleware.rb:59:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/logster-1.0.0.3.pre/lib/logster/middleware/reporter.rb:31:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/rack/logger.rb:38:in `call_app'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/rack/logger.rb:22:in `call'
/home/discourse/discourse/config/initializers/quiet_logger.rb:10:in `call_with_quiet_assets'
/home/discourse/discourse/config/initializers/silence_logger.rb:26:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/request_id.rb:21:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/methodoverride.rb:22:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/runtime.rb:18:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/middleware/static.rb:116:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/sendfile.rb:113:in `call'
/home/discourse/discourse/lib/middleware/missing_avatars.rb:21:in `call'
/home/discourse/discourse/lib/middleware/turbo_dev.rb:33:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-mini-profiler-0.9.7/lib/mini_profiler/profiler.rb:276:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/engine.rb:518:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/application.rb:165:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/railtie.rb:194:in `public_send'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/railtie.rb:194:in `method_missing'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/urlmap.rb:66:in `block in call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/urlmap.rb:50:in `each'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/urlmap.rb:50:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/content_length.rb:15:in `call'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/connection.rb:86:in `block in pre_process'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/connection.rb:84:in `catch'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/connection.rb:84:in `pre_process'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/connection.rb:53:in `process'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/connection.rb:39:in `receive_data'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run_machine'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/backends/base.rb:73:in `start'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thin-1.6.4/lib/thin/server.rb:162:in `start'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/handler/thin.rb:19:in `run'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.6.4/lib/rack/server.rb:286:in `start'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/commands/server.rb:80:in `start'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:80:in `block in server'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:75:in `tap'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:75:in `server'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/home/discourse/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Env
hostname discourse
process_id 9805
application_version af7d51e9233527544dda2fe4254ef5cd87de0c22
HTTP_HOST localhost:3000
REQUEST_URI /admin/site_settings/top_page_default_timeframe
REQUEST_METHOD PUT
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
HTTP_ACCEPT */*
HTTP_REFERER http://localhost:3000/admin/site_settings/category/all_results
username admin
params
top_page_default_timeframe quarterly
branch with commit showing changes to produce the above errors:
https://github.com/cpradio/discourse/commit/5e7a84626c6b78c2ee7fa6dadb8cb7606cfaad6f
cpradio
(cpradio)
6 oktober 2015 om 16:03
13
Maybe Iām over complicating this. As it seems I can get it to work properly by using
top_page_default_timeframe:
default: 'yearly'
type: enum
choices:
- all
- yearly
- quarterly
- monthly
- weekly
- daily
And that doesnāt require the top_period_setting.rb file which avoids the enum validation/saving issue I was experiencing using that method.
That method was being attempted with
top_page_default_timeframe:
default: 'yearly'
enum: 'TopPeriodSetting'
Will a PR that isnāt using a enum setting be accepted? (as I have that working)
master ā cpradio:top-period-setting-choices
merged 11:18PM - 06 Oct 15 UTC

2 likes
sam
(Sam Saffron)
6 oktober 2015 om 22:55
14
Sure, just with us, we are on a team meetup at the moment, struggling to have my backlog not eat me.
1 like
cpradio
(cpradio)
6 oktober 2015 om 22:59
15
No sweat, I made huge strides, I just canāt seem to figure out the enum setting process. I must be missing something silly, just not sure what.
Both sets of commits are there, the second actually works, the first throws an error when saving.
sam
(Sam Saffron)
6 oktober 2015 om 23:00
16
The enum class really is not necessary. If you can get away without it its better anyway, less code to carry around.
1 like
cpradio
(cpradio)
6 oktober 2015 om 23:02
17
Okay, then my PR works. It doesnāt use an enum setting class. I simply was considering that option to make it have less areas to support All, Yearly, Quarterly, Monthly, Weekly, and Daily.
So the PR is there, review it when you guys have time, no rush.
6 likes
Thanks @cpradio , I just merged your PR
1 like