Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recurrent content display (by date/time/screen) #576

Closed
dsp103 opened this issue Jul 5, 2013 · 16 comments
Closed

Recurrent content display (by date/time/screen) #576

dsp103 opened this issue Jul 5, 2013 · 16 comments

Comments

@dsp103
Copy link

dsp103 commented Jul 5, 2013

August 10:
A feature request. Would it be possible to have content added to display "every monday" for example? Or adding content with a repeat type function?

November 13:
Here's an official feature request for Concerto 2 to be able to specify specific content, on a specific screen, at a specific time of day (with recurrence).
It would be great if we could schedule the display of daily lunch menus, special notices during morning arrival, welcome screens for parent events, etc. on specific days ayt specific times for specific durations.

@mfrederickson
Copy link
Contributor

look into ice-cube for scheduling

@ghost ghost assigned bamnet Aug 25, 2013
@augustf
Copy link
Member

augustf commented Nov 13, 2013

Edit: broadened the scope of the ticket to include recurrence across dates/times/screens

@mfrederickson
Copy link
Contributor

Wouldn't we leave the screen part out-- isn't it handled by templates and subscriptions?

@mfrederickson
Copy link
Contributor

For the scheduling part, I'm thinking that the contents table would have another column called schedule which keeps a hash which would include ice_cube rules for scheduling the display of the content-- so the existing start_time and end_time columns would be used for "this content is valid between x and y" and the new schedule column would determine when within that range the content would be permitted to be displayed. Values could range from always, never, between n time and m time, to a collection of ice_cube rules. So the content pulling mechanism would still work with the existing start and end columns, there would just be an additionally coded filter that goes through the schedule. How does that sound? I think the hardest part is going to be the UI.

@augustf
Copy link
Member

augustf commented Jan 23, 2014

I get the sense that content scheduling could/should be done in a plugin. Not only would that keep the UI simple for the default case, but it would open the door to others who want to tweak how/when content is displayed. @bamnet @mikldt Could we reasonably have hooks into the content model to allow this sort of thing if we don't already?

zr2d2 added a commit that referenced this issue Jan 25, 2014
* refs/heads/master: (73 commits)
  reserved word changes closes #859
  add ordering to the individual queries
  Fixes #852 by not creating a backup file for sed -i
  Ok-more mucking with my path-trying again...
  Fixed local system libs for Gemfile
  Updated gems for 0.8.6
  Bump to 0.8.6.JulietJaguar.
  time parsing tweaks
  tweak time parsing
  Replace concerto-audio with concerto_audio...not sure why that was working...
  Add concerto_template_scheduling to seeds as disabled by default
  fix tz tweak to use times as local times
  Use Ruby 1.8.7 safe Time operations.
  set local zone to UTC for time tests
  use the user or system time zone on each request
  parse the start and ends times as if they are local
  Fixed an oversight of some i18n rubbish for #841
  add gems for scheduling for #835 and #576
  add gems for scheduling for #835 and #576
  add gems for scheduling for #835 and #576
  ...

Conflicts:
	Gemfile.lock
	app/models/template.rb
	db/seeds.rb
zr2d2 added a commit that referenced this issue Jan 25, 2014
* refs/heads/master: (121 commits)
  reserved word changes closes #859
  add ordering to the individual queries
  Fixes #852 by not creating a backup file for sed -i
  Ok-more mucking with my path-trying again...
  Fixed local system libs for Gemfile
  Updated gems for 0.8.6
  Bump to 0.8.6.JulietJaguar.
  time parsing tweaks
  tweak time parsing
  Replace concerto-audio with concerto_audio...not sure why that was working...
  Add concerto_template_scheduling to seeds as disabled by default
  fix tz tweak to use times as local times
  Use Ruby 1.8.7 safe Time operations.
  set local zone to UTC for time tests
  use the user or system time zone on each request
  parse the start and ends times as if they are local
  Fixed an oversight of some i18n rubbish for #841
  add gems for scheduling for #835 and #576
  add gems for scheduling for #835 and #576
  add gems for scheduling for #835 and #576
  ...

Conflicts:
	app/views/field_configs/index.html.erb
@mfrederickson
Copy link
Contributor

@concerto I'd like to take this one if no one has any objections...

@augustf
Copy link
Member

augustf commented Feb 20, 2014

Sounds good - but before you wade into it, you may want to post a little bit about approach, backend decisions, UI etc. Particularly UI, as I've never seen a DS product do this without making the UI significantly more complex. Is it your intention to do this as a plugin?

@mfrederickson
Copy link
Contributor

It would be very similar to the concerto_template_scheduling UI (yes, as a plug-in).

image

@mfrederickson
Copy link
Contributor

@brzaik I'd like your input on the labels for the fields relating to when content is actually active (the range concerto uses now) versus when it is actually scheduled to be displayed...

We're going to have a range that the content is available to be displayed (what we have now)-- what I call the 'active or valid period'. And we're also going to have a schedule during that timeframe for which content should be displayed, such as only during the lunch hour from 11am to 12noon, possibly only on certain days of the week, etc.

I know the wording here is going to be kind of crucial to ease of use so there's no misunderstanding. Just because an item is available to displayed during a specific period, or scheduled during a time frame, doesn't mean it will be shown (depends on the shuffler).

image

@augustf augustf added this to the Concerto 2.1 milestone Jun 7, 2014
@mfrederickson
Copy link
Contributor

@dsp103 would the content that you are referring to in your request be exclusive or interleaved with the other non-scheduled (but active) content?

@dsp103
Copy link
Author

dsp103 commented Jun 20, 2014

I'd not looked back on the issue page for a while, and see you are making good progress - thanks.

Apologies, I'm not sure I fully understand the question. We are using Concerto to display information to students before entering our laboratories (info on the days classes etc), which repeat weekly. Currently I just submit the content many times over so that it appears on the correct days, but this is non-ideal. It is interleaved with other content, both [essentially] permanent, and short term content (eg upcoming lectures etc). Is that what you are asking?

@gbprz
Copy link
Member

gbprz commented Jun 20, 2014

It seems like the plugin's current behavior matches what you are looking for and described above. You would be able to submit your weekly advertisements with a proper schedule and continue to show other contents just like before.

@dsp103
Copy link
Author

dsp103 commented Jun 20, 2014

Ok, that sounds ideal. I did load v2 on a test machine ages back, and should really fire it up again and have a look at the plugin! We're still deploying 1.9.3 (with an LDAP auth bodged on the front) at the minute. Thanks for your efforts.

@maxwell-g
Copy link

Is the recurrent display feature now available?

@mfrederickson
Copy link
Contributor

@augustf it looks like this can be closed.

@augustf augustf closed this as completed Apr 4, 2015
@mfrederickson
Copy link
Contributor

I know this is closed, but this functionality is in
https://github.com/concerto-addons/concerto_content_scheduling

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants