Scheduler (Advanced use)

The Linutop Kiosk can use an XML file to define multiple playlists, managed by a scheduler. It is possible to manually create these files.

Loops

The scheduler uses loop blocks to define the various playlists. Each loop must have an id attribute (0 being reserved for the default playlist). A single loop will contain the list of the items to displays:

<schedule>
  <loop id="0">
    <item uri="http://www.google.com" time="10" />
    <item uri="http://my_server/display/an_image.png" type="image" time="5" />
    <item uri="http://my_server/display/a_video.avi" type="video" />
    <item uri="http://my_server/display/an_image_as_web_page" time="5" />
    <item uri="http://my_server/display/a_video_as_web_page" />
  </loop>
</schedule>

The previous example shows the definition of a basic playlist. The <schedule> and <loop> nodes are mandatory. The "id" attribute is also mandatory.

Each item must define an uri" attribute which indicates where the item can be found. It can use several schemes, depending on the type attribute:

http://www.google.com

will show a web page (the type attribute must be omitted)

http://my_server/display/an_image.png

  • if the type attribute is present, the webkiosk will download the file, and display it as a local file (the file is cached, and redownloaded only if needed).
  • if the type attribute is missing, the uri will be used as if it were a web page (no cache).

The two supported types are image and video.

for URLs and images a time attribute must be defined. It stores the number of seconds that the item should be displayed. For videos, the next item will be displayed when the video has ended.

Supported URI schemes are:

Authentication is supported. For example, using a FTP authentication in a URI would give:

uri="ftp://username:passwd@server/myfile"

Date and time

Several loops can be defined. Each loop must have a uniq ID, and must define a time period. The loop ID'ed 0 will be the default loop, used if other loops don't match the current date/time.

Here are some examples of loops describing the schedule options:

<schedule>
  <loop id="0">
    <!-- default playlist defined here -->
  </loop>

  <loop id="1" start="14:00" end="18:15">
    <!-- this playlist will be read every day between 14:00 and 18:15 -->
  </loop>

  <loop id="2" start="14:00" end="18:15" weekdays="0246">
    <!--  this playlist will be read every monday, wednesday,
          friday and sunday between 14:00 and 18:15 -->
  </loop>

  <loop id="3" start="2011/03/25 00:00">
    <!-- this playlist will be used starting on march the 25th of 2011 -->
  </loop>

  <loop id="4" start="20:00" end="06:00" idle="1">
    <!-- this playlist is marked as idle. This will shut down the screen of the client -->
  </loop>
</schedule>

Combinations of these examples can be used.

A demo playlist is available at http://display.linutop.com/demos/linutop.xml.