Bug 1486782
Summary: | [RFE] Provide a dashboard widget to display an RSS feed within the UI | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Satellite | Reporter: | Rich Jerrido <rjerrido> | ||||||||||
Component: | Dashboard | Assignee: | Daniel Lobato Garcia <dlobatog> | ||||||||||
Status: | CLOSED ERRATA | QA Contact: | Radovan Drazny <rdrazny> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | unspecified | ||||||||||||
Version: | Unspecified | CC: | bkearney, dlobatog, jhutar, mhulan, mmccune, mvanderw, omaciel, oprazak, rdrazny, rjerrido, tbrisker, vgrosu | ||||||||||
Target Milestone: | 6.4.0 | Keywords: | FutureFeature | ||||||||||
Target Release: | Unused | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2018-10-16 15:28:43 UTC | Type: | Bug | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Bug Depends On: | |||||||||||||
Bug Blocks: | 1573395 | ||||||||||||
Attachments: |
|
Description
Rich Jerrido
2017-08-30 14:21:42 UTC
*** Bug 1473427 has been marked as a duplicate of this bug. *** There is https://github.com/theforeman/foreman/pull/4240 already in the upstream, which displays these kind of RSS feed in the notifications drawer (only when there is new stuff to see). Rich, do you think it's OK to link this RFE to that upstream issue? Yes. Connecting redmine issue http://projects.theforeman.org/issues/18292 from this bug Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/18292 has been resolved. You may configure the notifications RSS feed in two ways. 1 - The default is to fetch the RSS feed from the Satellite blog. This can be changed in Administer > Settings and I believe it's already covered in our docs. 2 - A Satellite administrator (you need access to the Satellite host to do this) can manually run `foreman-rake rss:create_notifications FOREMAN_RSS_AUDIENCE='admin' FOREMAN_RSS_URL='example.com/myurlfeed.rss'`. This can be a one-off job, or it can be scheduled via cron or similar. There are some docs on the file that automatically do this, about all of the possibilities in here: https://github.com/theforeman/foreman/blob/1.18-stable/lib/tasks/rss.rake Upstream bug assigned to dlobatog Jan, we definitely have an RSS feed tool in the upper right if you have it configured properly. Moving this back ON_QA, see attached screenshot. Created attachment 1485229 [details]
rss feed screenshot
Created attachment 1485255 [details] Feed value First of all, to make sure that everyone follows along, the RSS feed notification feature does **not** add a new widget to the main dashboard. Instead, it will display RSS feed items via the Notification Tray (the "bell" icon in the upper right section of the web you). I have updated the RSS feed using the web UI (see attached screenshot) to use the following RSS feed: https://blogs.gnome.org/hughsie/feed/ The RSS feature is enabled and I expected that saving the new value for the RSS feed would have refreshed it and displayed latest items in the notification tray, but I don't see anything new there. I then manually executed the following command (with output also attached) but I still did not see any new items in the notification tray. foreman-rake rss:create_notifications /usr/share/foreman/lib/foreman.rb:8: warning: already initialized constant Foreman::UUID_REGEXP /usr/share/foreman/lib/foreman.rb:8: warning: previous definition of UUID_REGEXP was here /usr/share/foreman/lib/core_extensions.rb:182: warning: already initialized constant ActiveSupport::MessageEncryptor::DEFAULT_CIPHER /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/message_encryptor.rb:22: warning: previous definition of DEFAULT_CIPHER was here Looking under the Tasks page: Action: Dynflow::ActiveJob::QueueAdapters::JobWrapper Input: {"current_user_id"=>nil, "job_class"=>"CreateRssNotifications", "job_arguments"=>[{"_aj_symbol_keys"=>[]}], "queue"=>"default", "locale"=>"en"} Output: {} Exception: ActiveJob::SerializationError: Can't serialize a Hash with reserved key "_aj_symbol_keys" Backtrace: /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:129:in `serialize_hash_key' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:104:in `block in serialize_hash' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:103:in `each' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:103:in `each_with_object' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:103:in `serialize_hash' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:62:in `serialize_argument' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:32:in `block in serialize' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:32:in `map' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/arguments.rb:32:in `serialize' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/core.rb:131:in `serialize_arguments' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/core.rb:86:in `serialize' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/active_job/queue_adapter.rb:12:in `enqueue_at' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/enqueuing.rb:49:in `block in enqueue' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:108:in `block in run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:15:in `block (3 levels) in <module:Logging>' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:46:in `tag_logger' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `instance_exec' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:135:in `run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/enqueuing.rb:47:in `enqueue' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/configured_job.rb:13:in `perform_later' /usr/share/foreman/app/jobs/create_rss_notifications.rb:6:in `perform' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/execution.rb:37:in `block in perform_now' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:108:in `block in run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/i18n-0.9.1/lib/i18n.rb:265:in `with_locale' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/translation.rb:7:in `block (2 levels) in <module:Translation>' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `instance_exec' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:24:in `block (4 levels) in <module:Logging>' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `block in instrument' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/notifications.rb:166:in `instrument' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:23:in `block (3 levels) in <module:Logging>' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:46:in `tag_logger' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/logging.rb:20:in `block (2 levels) in <module:Logging>' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `instance_exec' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.6/lib/active_support/callbacks.rb:135:in `run_callbacks' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/execution.rb:33:in `perform_now' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activejob-5.1.6/lib/active_job/execution.rb:16:in `perform_now' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/active_job/queue_adapter.rb:42:in `run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:538:in `block (3 levels) in execute_run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware.rb:18:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action/progress.rb:30:in `with_progress_calculation' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action/progress.rb:16:in `run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:22:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware.rb:18:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.7.0.28/app/lib/actions/middleware/keep_locale.rb:11:in `block in run' /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.7.0.28/app/lib/actions/middleware/keep_locale.rb:22:in `with_locale' /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.7.0.28/app/lib/actions/middleware/keep_locale.rb:11:in `run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:22:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware.rb:18:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.13.4.2/app/lib/actions/middleware/keep_current_user.rb:15:in `block in run' /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.13.4.2/app/lib/actions/middleware/keep_current_user.rb:43:in `restore_curent_user' /opt/theforeman/tfm/root/usr/share/gems/gems/foreman-tasks-0.13.4.2/app/lib/actions/middleware/keep_current_user.rb:15:in `run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:22:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware.rb:18:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware.rb:31:in `run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/stack.rb:22:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/middleware/world.rb:30:in `execute' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:537:in `block (2 levels) in execute_run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:536:in `catch' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:536:in `block in execute_run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:451:in `block in with_error_handling' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:451:in `catch' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:451:in `with_error_handling' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:531:in `execute_run' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/action.rb:278:in `execute' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:17:in `block (2 levels) in execute' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/execution_plan/steps/abstract.rb:162:in `with_meta_calculation' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:16:in `block in execute' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:30:in `open_action' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:15:in `execute' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/director.rb:43:in `execute' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/executors/parallel/worker.rb:12:in `block in on_message' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/executors.rb:12:in `run_user_code' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/executors/parallel/worker.rb:11:in `on_message' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/context.rb:46:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/executes_context.rb:7:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.0.5.1/lib/dynflow/actor.rb:26:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/awaits.rb:15:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/sets_results.rb:14:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/buffer.rb:38:in `process_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/buffer.rb:31:in `process_envelopes?' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/buffer.rb:20:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/termination.rb:55:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/removes_child.rb:10:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/abstract.rb:25:in `pass' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/behaviour/sets_results.rb:14:in `on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:161:in `process_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:95:in `block in on_envelope' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:118:in `block (2 levels) in schedule_execution' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize' /opt/theforeman/tfm/root/usr/share/gems/gems/concurrent-ruby-edge-0.2.4/lib/concurrent/actor/core.rb:115:in `block in schedule_execution' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb:18:in `call' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb:96:in `work' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb:77:in `block in call_job' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch' /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker' /opt/theforeman/tfm/root/usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context' I'm confident that this has FailedQE. Flipping it back to ASSIGNED Created attachment 1486649 [details]
working rss notifications
Daniel is working on the feed structure documentation. Jan, the rake task to force loading new notifications by default loads "0" new posts. In upstream this already defaults to 3 but when used in downstream, it needs to be called like this FOREMAN_RSS_LATEST_POSTS=3 foreman-rake rss:create_notifications I changed to upstream, loaded 3 posts, than changed to you custom downstream feed and loaded another 3 posts. All seems fine. I'll update BZ 1633106 with the same. Vlada I'll open separate BZ for docs, thank you. The structure is the following: <entry> <title>Learn about Satellite 6 in here</title> <link href="http://redhat.com/blog/392"/> </entry> If there's a sub tag 'content' in 'title', like <title><content></content></title>, that will be used as the title. Similarly if there's a 'link' tag like <link>http://foo</link>, the contents of the tag are used. What Marek described is correct, most likely the notifications existed for 12 hours and since they expired, you would need to run the command with 'foreman-rake rss:create_notifications FOREMAN_RSS_FORCE_REPOST=true'. This is the way of telling Satellite 'don't check whether the notifications previously existed or not, just create new ones with the latest news'. For the record, I just ran the following command: FOREMAN_RSS_URL='https://blogs.gnome.org/hughsie/feed/' FOREMAN_RSS_LATEST_POSTS=3 foreman-rake rss:create_notifications and I was able to get notifications instantly. Could you try that and tell us the output if it didn't give you that? Task output if it fails is great too, thanks! Created attachment 1487525 [details]
gnome blog notifications
Verified on Sat 6.4 Snap 23. To sum things up a little: - the RSS notifications work as expected if the feed used is original Satellite blog, as intended. - as Marek has mentioned in the comment #36, RSS in Satellite is primarily intended as a communication channel for Satellite/Foreman news from its respective blogs, and shouldn't be used as a general RSS reader. In my opinion it would be a good idea to remove the ability to edit the RSS feed URL from the WebUI (leaving only the on/off switch present) to discourage users from changing this. Modifying the URL should be still possible, but it should be a config option stored in a config/DB somewhere, to make it less tempting to change for the user. Only an idea, of course. - the "foreman-rake rss:create_notifications" tool is something that should be used only for testing. End user should not have any reason to perform this manually, and should rely on the default 12 hours processing schedule. - there actually is a non-blocking issue, which was the probable cause of lot of the grief in previous comments. I have created the BZ1633558 to track this problem, please see it for the details. Basically this issue should be present only if an incompatible feed is used, or if there is a transient error during the RSS task processing . Otherwise, in my opinion the feature works as expected. Just a note, 'foreman-rake rss:create_notifications' can be put on a cronjob, so the customer can have notifications for 2 different RSS feeds. 1. The official one (by leaving the setting as default) 2. Any other RSS feed that has the right structure :), using a cronjob. Thanks Radovan for uncovering the issue you mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=1633558 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2018:2927 |