Extend Screenly open source edition to cloud based

Extend Screenly open source edition to cloud based

Cancelled

Job Description

1. Based on Screenly Open Source Edition (http://www.screenlyapp.com/ose.html) or any other recommended open source player for Raspberry PI.

2. Download playlist and content from remote server. Playlist list file needs to be saved as a physical XML file in the same format from server. A sample is,
<xml><PlayerGroupSchedules><PlayerGroupSchedule PlayerGroupScheduleID="1000000" PlayerGroupID="1000000" ScreenID="1000000" Day="0" Hour="0" Minute="0" /><PlayerGroupSchedule PlayerGroupScheduleID="1000001" PlayerGroupID="1000000" ScreenID="1000000" Day="1" Hour="0" Minute="0" /><PlayerGroupSchedule PlayerGroupScheduleID="1000002" PlayerGroupID="1000000" ScreenID="1000000" Day="2" Hour="0" Minute="0" /><PlayerGroupSchedule PlayerGroupScheduleID="1000003" PlayerGroupID="1000000" ScreenID="1000000" Day="3" Hour="0" Minute="0" /><PlayerGroupSchedule PlayerGroupScheduleID="1000004" PlayerGroupID="1000000" ScreenID="1000000" Day="4" Hour="0" Minute="0" /><PlayerGroupSchedule PlayerGroupScheduleID="1000005" PlayerGroupID="1000000" ScreenID="1000000" Day="5" Hour="0" Minute="0" /><PlayerGroupSchedule PlayerGroupScheduleID="1000006" PlayerGroupID="1000000" ScreenID="1000000" Day="6" Hour="0" Minute="0" /></PlayerGroupSchedules><Screens><Screen ScreenID="1000000" AccountID="1000000" ScreenName="Visit Las Vegas" SlideShowID="1000000" PlayListID="0" TimelineID="0" IsInteractive="true" ButtonImageID="1000004" AgeMin=”16” AgeMax=”34” Gender=”Male” Likes=”Music;Sports;Movies” /></Screens><ScreenScreenContentXrefs><ScreenScreenContentXref ScreenScreenContentXrefID="1000000" ScreenID="1000000" ScreenContentID="1000000" DisplayOrder="1" /><ScreenScreenContentXref ScreenScreenContentXrefID="1000001" ScreenID="1000000" ScreenContentID="1000001" DisplayOrder="2" /><ScreenScreenContentXref ScreenScreenContentXrefID="1000002" ScreenID="1000000" ScreenContentID="1000002" DisplayOrder="3" /><ScreenScreenContentXref ScreenScreenContentXrefID="1000003" ScreenID="1000000" ScreenContentID="1000003" DisplayOrder="4" /></ScreenScreenContentXrefs><SlideShows><SlideShow SlideShowID="1000000" IntervalInSecs="10" TransitionType="Fade" /></SlideShows><SlideShowImageXrefs><SlideShowImageXref SlideShowImageXrefID="1000000" SlideShowID="1000000" ImageID="1000001" PlayOrder="1" /><SlideShowImageXref SlideShowImageXrefID="1000001" SlideShowID="1000000" ImageID="1000002" PlayOrder="2" /><SlideShowImageXref SlideShowImageXrefID="1000002" SlideShowID="1000000" ImageID="1000003" PlayOrder="3" /><SlideShowImageXref SlideShowImageXrefID="1000003" SlideShowID="1000000" ImageID="1000004" PlayOrder="4" /></SlideShowImageXrefs><SlideShowMusicXrefs></SlideShowMusicXrefs><Timelines></Timelines><TimelineImageXrefs></TimelineImageXrefs><TimelineMusicXrefs></TimelineMusicXrefs><TimelineVideoXrefs></TimelineVideoXrefs><Images><Image ImageID="1000004" StoredFilename="626c6a35-4523-46aa-9d0a-c2687b581e27.jpg" ImageName="Vegas 04" /><Image ImageID="1000001" StoredFilename="60255096-6a72-409e-b905-4d98ee717bb0.jpg" ImageName="Vegas 01" /><Image ImageID="1000002" StoredFilename="612bb76c-e16e-4fe8-87f2-bddc7eb59300.jpg" ImageName="Vegas 02" /><Image ImageID="1000003" StoredFilename="69f99c47-d1b0-4123-b62b-8f18bdc5702f.jpg" ImageName="Vegas 03" /></Images><PlayLists></PlayLists><PlayListVideoXrefs></PlayListVideoXrefs><Videos></Videos><Musics></Musics><PlayerSettings><PlayerSetting PlayerSettingName="ButtonTextBack" PlayerSettingTypeID="1000001" PlayerSettingValue="Back" /><PlayerSetting PlayerSettingName="ButtonTextClose" PlayerSettingTypeID="1000001" PlayerSettingValue="Close" /><PlayerSetting PlayerSettingName="ButtonTextNext" PlayerSettingTypeID="1000001" PlayerSettingValue="Next" /><PlayerSetting PlayerSettingName="ButtonTextOpen" PlayerSettingTypeID="1000001" PlayerSettingValue="Open" /><PlayerSetting PlayerSettingName="DownloadFolder" PlayerSettingTypeID="1000001" PlayerSettingValue="C:\osVodigi\" /><PlayerSetting PlayerSettingName="MediaSourceUrl" PlayerSettingTypeID="1000001" PlayerSettingValue="http://yourwebserverIP/osVodigiWeb/Media/" /><PlayerSetting PlayerSettingName="ShowCursor" PlayerSettingTypeID="1000003" PlayerSettingValue="False" /></PlayerSettings></xml>

3. The playlist and content need to be refreshed periodically (configurable, default to 1 hour) from a remote server via web service. To save bandwidth, don’t download content that has already been downloaded from previous refresh.

4. Expose an API to allow to force play a specific content at any time. After playing, go back to the playlist that was intercepted.

5. Reporting – periodically send back to the remote server with which screens have been displayed for how many times.