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

Colibo feed type #226

Open
wants to merge 11 commits into
base: develop
Choose a base branch
from
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"rlanvin/php-rrule": "^2.2",
"symfony/asset": "~6.4.0",
"symfony/console": "~6.4.0",
"symfony/dom-crawler": "~6.4.0",
"symfony/dotenv": "~6.4.0",
"symfony/expression-language": "~6.4.0",
"symfony/flex": "^2.0",
Expand Down
270 changes: 135 additions & 135 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion config/packages/nelmio_cors.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
nelmio_cors:
defaults:
origin_regex: true
allow_credentials: false
allow_credentials: true
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
allow_headers: ['Content-Type', 'Authorization', 'Authorization-Tenant-Key']
Expand Down
2 changes: 1 addition & 1 deletion config/services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ services:
Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface: '@Lexik\Bundle\JWTAuthenticationBundle\Security\Http\Authentication\AuthenticationFailureHandler'
Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface: '@Lexik\Bundle\JWTAuthenticationBundle\Security\Http\Authentication\AuthenticationSuccessHandler'

App\Feed\CalendarApiFeedType:
App\Feed\SourceType\Calendar\CalendarApiFeedType:
arguments:
$locationEndpoint: '%env(string:CALENDAR_API_FEED_SOURCE_LOCATION_ENDPOINT)%'
$resourceEndpoint: '%env(string:CALENDAR_API_FEED_SOURCE_RESOURCE_ENDPOINT)%'
Expand Down
File renamed without changes.
33 changes: 33 additions & 0 deletions docs/feed/feed-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Feed Overview

"Feeds" in OS2display are external data sources that can provide up-to-data to slides. The idea is that if you can set
up slide based on a feed and publish it. The Screen Client will then fetch new data from the feed whenever the Slide is
shown on screen.

The simplest example is a classic RSS news feed. You can set up a slide based on the RSS slide template, configure the
RSS source URL, and whenever the slide is on screen it will show the latest entries from the RSS feed.

This means that administrators can set up slides and playlists that stays up to date automatically.

## Architecture

The "Feed" architecture is designed to enable both generic and custom feed types. To enable this all feed based screen
templates are designed to support a given "feed output model". These are normalized data sets from a given feed type.

Each feed implementation defines which output model it supports. Thereby multiple feed implementations can support the
same output model. This is done to enable decoupling of the screen templates from the feed implementation.

For example:

* If you have a news source that is not a RSS feed you can implement a "FeedSource" that fetches data from your source
then normalizes the data and outputs it as the RSS output model. When setting up RSS slides this feed source can then
be selected as the source for the slide.
* OS2display has calendar templates that can show bookings or meetings. To show data from your specific calendar or
booking system you can implement a "FeedSource" that fetches booking data from your source and normalizes it to match
the calendar output model.

@todo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Todo what?


Slide -> Feed -> FeedSource
Auth
Caching
Loading
Loading