SpinetiX HMP130, HMP200 User Manual

HMP Pull Mode
Firmware v3.0
Version 1.0, 16 Apr 2013
© 2013 SpinetiX S.A. All rights reserved.
2
DISCLAIMER
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS. THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT IS SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR SPINETIX REPRESENTATIVE FOR A COPY.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND
SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH ALL FAULTS. SPINETIX
DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL SPINETIX OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF SPINETIX OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
HMP Pull Mode
©2013 SpinetiX S.A. All rights reserved.
"SpinetiX" and “HMP Hyper Media Player” are registered trademarks, and all logo and graphic designs are trademarks of SpinetiX S.A. Other product and company names appearing in SpinetiX S.A. products and materials are used for identification purposes only and may be trademarks or registered trademarks of their respective companies. Registered and unregistered trademarks used in any SpinetiX S.A. products and materials are the exclusive property of their respective owners
SpinetiX S.A. Rue des Terreaux 17 1003 Lausanne Switzerland www.spinetix.com info@spinetix.com
HMP Pull Mode Firmware 3.0, version 1.0
3
INTRODUCTION
There are many ways to control what kind of content is displayed by the HMP130 or HMP200 device. Files can be pushed to the devices (for example, using HMD), they can be made available on an HTTP server, uploaded to the device using the Fusion interface, or pulled at periodic intervals from a server. This last of these methods is Pull Mode.
© 2013 SpinetiX S.A. All rights reserved.
4
TABLE OF CONTENTS
Disclaimer ............................................................................................................ 2
Introduction .......................................................................................................... 3
Table of Contents .................................................................................................. 4
Content Access ...................................................................................................... 5
Fusion ............................................................................................................... 5
Push Mode......................................................................................................... 5
Client/Server ..................................................................................................... 6
Pull mode .......................................................................................................... 7
Using Pull mode .................................................................................................... 9
Content Server .................................................................................................. 9
WebDAV server: ............................................................................................. 9
Standard HTTP server: .................................................................................... 9
XML description of HTTP repository ................................................................... 9
Configuring the HMP ..........................................................................................12
Manual Settings .............................................................................................13
Using iCalendar Schedule ................................................................................14
Custom iCalendar files .......................................................................................14
Configuring iCalendar files ..............................................................................14
Publish action ................................................................................................14
Upload action ................................................................................................16
RPC action ....................................................................................................17
Inline-RPC action ...........................................................................................18
Controlling display during the publish ..................................................................19
publish_screen ..................................................................................................19
HMP Pull Mode Firmware 3.0, version 1.0
5
CONTENT ACCESS
When connected to the network, the HMP can use four different methods to access content:
Fusion: The content is uploaded and managed directly on the device using the
build-in Fusion interface.
Push mode: Files are pushed to the HMP using a WebDAV server. For example,
the HMD uses push mode to publish a Hyper Media Project to a HMP unit.
Client/Server mode: The HMP accesses files from a remote HTTP server. The
internal storage will be used as a cache.
Pull mode: Files are copied periodically from a remote server to the local storage
of the HMP.
Fusion
Fusion is a built-in web interface available on all HMP devices. Once Fusion has been enabled, the user can upload content and manage playlists directly on the device, without the need for any external software.
Fusion also includes the concept of a slide, enabling dynamic editing of text, and content layout based on templates available on the unit. In this case projects or templates created with HMD can be used, providing more flexibility to the user.
Fusion has the following advantages:
No setup is required as everything can be done directly on the HMP. All the content is managed directly on the device. The interface is intuitive and allows a basic set of operations that can be
performed by user without the need for special training on the device.
However, Fusion offers only a limited access to all the capacities of the player. It is design for users desiring to control a small number of units, each of them individually.
Push Mode
Push Mode is the initial mode used to publish content to the HMP devices. This is the mode used by HMD to copy files from the local storage of the PC to the internal storage of the HMP.
When using the pull mode, the publication workflow is as follows:
The content is created on the local PC. HMD or other software can be used to
generate a set of SVG and media file compatible with the player.
© 2013 SpinetiX S.A. All rights reserved.
6
The content is pushed to the HMP using WebDAV. This functionality is built inside
the HMD software, but other WebDAV compatible applications can be used.
The user can connect to the WebDAV address of the device and add, remove or rename the content on the device.
http://[address_of_the_device]:81/
Push mode has many advantages:
No setup are needed as everything can be done from HMD No servers are needed All the content is copied to the HMP, and network is no longer necessary once the
publish has been done
Content is immediately updated
The main drawback of push mode is that a direct access to the device is necessary. Complex network topography using firewall and/or NAT will prevent the user from publishing to the device.
Client/Server
When using client/server mode, the content to be displayed by the HMP is located on a web server on the network. The player will, like a user browsing the web, connect to the server, and download the files needed to be displayed. In this case the internal storage of the HMP is used as a cache to minimize the network bandwidth. However a stable network connection is necessary for the player to display the content.
HMP Pull Mode Firmware 3.0, version 1.0
7
When using client/server mode, the publication workflow is the following:
The user creates content on a local PC and uploads to a server. Alternatively, the content may be created directly on the server by a custom
application.
The player is configured to use the content from the server instead of the local
content.
It is important to note that the connection between the HMP and the server must be reliable and fast enough to transmit the data as it is needed by the display.
The client/server mode has the following advantages:
Centralized content management on the server. Content can be generated dynamically and immediately on the server.
To configure the HMP to use client/server mode, open Control Center, and change the location of the media source to the root of your server.
The HMP will look for an index.svg file on this server as a starting point to display the content.
Pull mode
When using pull mode, the player is instructed to download content from a server at specific intervals. If the content on the server has been modified, it will be downloaded to the internal storage of the player and then played. Once the content has been downloaded, the server is no longer needed until the next update of the content.
© 2013 SpinetiX S.A. All rights reserved.
8
The Pull mode can be used bidirectionally to:
Automatically publish files to the HMP. Each time the HMP has been scheduled to
update the content of its local storage, it will connect to the specified server, check for changes, and download all modified files.
Upload logs and previews to a remote WebDAV server.
The publish action of the Pull mode can be used with WebDAV server or with standard HTTP servers.
The pull mode can be used to update content of devices behind firewall or NAT, or when the network is not reliable.
The pull mode has the following advantages:
Update of the content can be programmed at predefined times The player copies the content to its local storage, making the system resilient to
network failure
Content on devices behind firewall or NAT can be updated from anywhere in the
network.
HMP Pull Mode Firmware 3.0, version 1.0
9
USING PULL MODE
Pull mode allows:
Updating of the content of the device Uploading of logs and other information from the device to a server RPC control of the player for an RPC server.
To use pull mode with the HMP, the user must configure the player accordingly and setup a server ready to interact with the player. To use advanced feature of pull mode, an iCalendar file must be used with some specific syntax.
Content Server
In Pull Mode, a server is needed to host the content to be downloaded by the player. Both standard HTTP server and WebDAV enabled HTTP servers are supported.
WebDAV server:
Publishing from a WebDAV server is straightforward:
Create a repository on your WebDAV server. The repository should contain a copy
of the content to be displayed by the HMP.
Use the root of the repository as the source for your project.
The HMP will use the WebDAV protocol to ensure that only modified files are downloaded to the HMP.
When using HMD with the PRO features enabled, you can publish directly to the WebDAV server using the concept of shared projects.
Standard HTTP server:
There exists no standard method to list the content of a repository using standard HTTP protocols. For this reason a custom XML file describing the content of your repository must be available to the HMP for the publish process.
Steps to follow to publish from a standard HTTP server:
Create a repository on your HTTP server Upload your content to the HTTP server Create an XML description of your repository. Use the URI of the XML description file as the source for your publish process.
XML description of HTTP repository
The XML description of the HTTP repository uses the XML structure of the WebDAV protocol to answer a PROPFIND command (See section 12 of the WebDAV RFC)
<project>
<projects xmlns="http://www.spinetix.com/namespace/1.0/spxproj">
This is the top-level element; it must be in the spinetix project namespace (http://www.spinetix.com/namespace/1.0/spxproj).
© 2013 SpinetiX S.A. All rights reserved.
10
<multistatus>
The multistatus contains the complete description of the repository. It must be in the "DAV:" namespace.
<multistatus xmlns="DAV:">
There can be more than one multistatus entry in the xml file allowing to merge files from different sources into a single project. In this case, this element may include an optional attribute, xml:base, which links to the base of the repository. If this attribute is absent, the HMP assumes that the XML file is located at the root of your repository.
Example:
<multistatus xmlns="DAV:" xml:base="http://demo.spinetix.com/project/default/">
<response>
Contains the description of a multimedia file or a directory. There should be a <response> element per file to be uploaded to the HMP.
Note that if sub-folders are present in the project, the folder itself must also be specified in the list of resources.
The root of the repository MUST be present in the list of resources.
<href>
URI of the multimedia file to be uploaded to the HMP. The URI is relative to the address of the repository.
Example:
Description of the root repository:
<response> <href>/</href> </response>
Description of the index file:
<response> <href>/index.svg</href> </response>
<propstat> and <prop>
Containers for the properties of the current file. Properties are not compulsory. Note that the <propstat> element might be omitted, but is supported for compatibility with the WebDAV protocol.
It is recommended to specify either the <getetag> or the <getlastmodified> properties which will be used by the Pull mode to check for file modifications. If neither of those properties is present the player will first do a HEAD request to get the properties for the files. Then, if it has been modified, it will be downloaded.
<getetag>
Specify the ETag of the file.
HMP Pull Mode Firmware 3.0, version 1.0
11
The ETag is an identifier which must be unique for each file. Two files with the same ETag and the same file name will be considered as identical. The HMP100 will use the ETag to check whether a file must be uploaded or not.
Example:
Description of the index file with an ETag:
<response> <href>/index.svg</href> <propstat><prop> <getetag>"3d06d7-7e0-f58a7c0"</getetag> </prop></propstat> </response>
<getlastmodified>
Specifies the date of the last modification of a file.
If the ETag is not present, the HMP will use the date of the last modification to check whether a file must be uploaded or not.
Example:
Description of an svg file called spinetix.svg located in the media folder:
<response> <href>/media/spinetix.svg</href> <propstat><prop> <getlastmodified>Wed, 23 Jul 2008 13:38:37 GMT</getlastmodified> </prop></propstat> </response>
Complete file
Example of XML description of a server containing an index.svg and spinetix.svg in a folder called media.
This example can be downloaded from:
http://demo.spinetix.com/project/default/publish.xml
<?xml version="1.0" encoding="UTF-8"?> <projects xmlns="http://www.spinetix.com/namespace/1.0/spxproj"> <multistatus xmlns="DAV:" xml:base="http://demo.spinetix.com/project/default/" > <response> <href>/</href> </response> <response> <href>/index.svg</href> <propstat><prop> <getetag>"3d06d7-7e0-f58a7c0"</getetag> </prop></propstat> </response> <response> <href>/media/</href> </response> <response> <href>/media/spinetix.svg</href> <propstat><prop> <getlastmodified>Wed, 23 Jul 2008 13:38:37 GMT</getlastmodified> </prop></propstat> </response>
© 2013 SpinetiX S.A. All rights reserved.
12
</multistatus> </projects>
Configuring the HMP
There are two ways to configure the Pull mode on a HMP unit:
Using manual settings. This option is easy to configure, but has some limitations.
For example, it forces a daily project publishing at a specific time. Moreover, the options for uploading logs are limited.
Using iCalendar schedule files: This option gives you full control over the Pull
mode of the HMP, but requires an external tool to create iCalendar files.
Both alternatives are controlled using Control Center and the Pull Mode settings.
HMP Pull Mode Firmware 3.0, version 1.0
13
Manual Settings
Open Control Center and the open the page Pull mode then follow the steps below:
Publishing a project:
1. Select the Manual Settings option
2. Check the "Automatically upload project to the HMP100" (or 200 depending on
your model)
3. This step depends on the server you are using to store your project: If you are using a WebDAV server: Enter the URI of your project on the
WebDAV server
If you are using a conventional HTTP server: Enter the URI of the XML file
describing your project on the HTTP server.
4. Select the time at which you would like the publish action to take place.
5. Press Apply to validate your changes
If your server is protected by a password, you can use the Network credentials section to enter the passwords of your server.
Uploading logs:
Requirements: A WebDAV server for storing the log files or a php script on the server accepting POST commands.
1. Select the Manual Settings option
2. Check the "Automatically upload logs from the HMP100" (or 200 depending on
your model)
3. Enter the URI of the WebDAV server where the log files should be uploaded. The
HMP needs to have write access to this server path. See Network credentials to enter the passwords of your server.
4. Select the time at which you would like the log files to be uploaded to your server.
5. Select what type of log files should be uploaded to your server.
6. Press Apply to validate your changes
The log files will be uploaded once a day; the files will have the following names:
[filename]-[hmp100_serialnumber]-[date]-[time].n.log.gz
In case of a network transmission breakdown, the system will make sure that logs from previous days are also uploaded. Up to seven days of logs are kept on the device.
Using an RPC concentrator:
Need at least firmware 3.0.0
Requirements: An HTTP server accepting RPC commands as explained in the Remote Procedure Call (RPC) documentations.
1. Select the Manual Settings option
2. Check the "Enable RPC concentrator"
3. Enter the URI of the RPC concentrator
4. Select the frequency at which you want the RPC concentrator to be notified.
Typical values are between 10s and 120s
5. Check the "Notification only" if you don't want the RPC concentrator to be able to
send commands to the HMP. In this case the Concentrator will only receive ready(), restarted() and pull_status() information.
© 2013 SpinetiX S.A. All rights reserved.
14
Using iCalendar Schedule
Requirement: an iCalendar schedule describing the Pull mode action as described in the iCalendar section.
To upload the iCalendar file to the HMP:
1. Select "From uploaded iCalendar file (ics)"
2. Press the Browse button to select your ics file
3. Press apply to save your changes
If you want the HMP to use a schedule from a remote server:
1. Select " From remote iCalendar file (ics)"
2. Enter the URI of the iCalendar file. You can use the string "[serial]" in the URI. It
will be replaced by the serial number of the HMP when connecting to your server.
3. Press apply to save your changes
The final URI of the iCalendar file is indicated in the gray text area at the bottom of the page.
The iCalendar file will be checked periodically for modifications. The check will occur each time a publish or an upload task is performed, or at least every 24 hours (configurable).
Custom iCalendar files
The HMP Pull mode can use an iCalendar file to control more accurately the actions performed by the HMP.
Using iCalendar lets you:
Use complex recurring rule for scheduling the publishing of a project Publish project from two or more different locations. Update your HMP more (or less) than once per day. Upload the HMP snapshot image to a server Enable RPC server mode ... and many more features
iCalendar files can be either saved on the HMP or retrieved from a remote server as explained in Settings.
Configuring iCalendar files
Each action of Pull mode is described by a item (meeting) in your iCalendar file (ICS file).
The following iCalendar fields are used to control the action:
Title (or subject or summary): describes the type of action to be performed.
Currently the following actions are possible:
o publish: to publish a project to the HMP o upload: to upload files from the HMP to your WebDAV server o rpc: to enable sending RPS status to a remote server. See the complete
RPC documentation for more information.
Location (or URL): describe the URI to be used by the action Description: Can be used to specify additional parameters for the action
Standards fields such as the starting and ending dates, recurring rules, and time zones are also used to determine when the action should take place.
Publish action
The publish action controls when the content of the device should be modified by pull mode. During the publish action, all files from the server are copied to the device. Files that were already present on the server last time the upload was done, and that have not
HMP Pull Mode Firmware 3.0, version 1.0
15
been modified since, will not be uploaded. Files that are present on the device but not on the server will be removed from the local storage. At the end of a successful publish action, the content of the device is an exact copy of the content on the server.
This action uses the following fields:
Title = publish Location = URI of the WebDAV server or URI of the XML description of your
server as explained in HTTP server.
Description: additional option for the publish process
-deletelast: By default, the pull mode starts by deleting file present on the device but not on the repository, then it download the new file. This saves space on the device. When this option is specified, the files are deleted only once all the files have been uploaded to the device.
-dest folder Change the destination folder used by the publish. By default content is published in the root folder. If a folder is specified, the content will be published in the given folder.
Notes:
If the folder do not exist, it will be created. When fusion is enabled the folder 'publish' should be used, as
project can no longer be published in the root folder.
Need firmware 2.2.3
-norecurs Prevent recursion during the publish process. Only the root folder (or the folder specified by the -dest option) will be modified. No sub-folders will be created or deleted.
The duration of the publish action is important in case of errors while downloading files. If an error occurs in downloading one file or that the server cannot be reached, the pull mode will retry the downloading process for the duration of the event.
Example of an ICS file for a publish process:
© 2013 SpinetiX S.A. All rights reserved.
16
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Spinetix.com/NONSGML Spinetix Control Center//EN BEGIN:VEVENT UID:14d64d53-a926-4a71-848d-c78452b195fe DTSTART:20080722T200000 DTEND:20080722T210000 URL: http://demo.spinetix.com/project/default/publish.xml SUMMARY:publish RRULE:FREQ=DAILY;WKST=SU END:VEVENT END:VCALENDAR
Upload action
The upload action enables copying of files from the device to a remote server using pull mode. No modifications are done on the player. This is typically used to upload logs from the player to a centralized server.
This action uses the following fields:
Title = upload Location = URI of the server where files should be uploaded. By default pull
mode uses the PUT command to upload files.
Description: options and/or list of files to be uploaded.
Each line of the description corresponds to a file to be uploaded. In this case the syntax is the following:
<file_name> [destination_name]: Will upload the file file_name to the server, using destination_name. If no destination name is provided, the default formatting will be used (see the -format specification)
The following shortcut/options can be used:
-format: specify the format to be used to write the file to the server. The following syntax can be used:
%s : serial number of the HMP %d : date of the upload %h : time of the upload %D : modification date of the uploaded file %H : modification time of the uploaded file %n : name of the source %x : extension of the source
The default format of uploaded files is "%n-%s-%d-%h.%x"
-method <post|put>: select the upload method. By default a PUT is used.
-snapshot: upload a snapshot. By default the name of the snapshot will be "snapshot-%s-%d-%h.jpg"
-log <name>: (need firmware 3.0.0) Upload one specific log. All logs can be uploaded using this solution, i.e. using -log warn.log will upload http://localhost/log/warn.log. System logs (syslog) can be uploaded using -log syslog. Player info logs http://localhost/info can be uploaded using -log info
-logs: upload all logs from the previous day. Pull Mode retains a history of uploaded logs and will make sure all logs from the past are uploaded. Note that at most 7 days of logs are kept inside the player.
HMP Pull Mode Firmware 3.0, version 1.0
17
-alllogs: upload all log files (compressed and not compressed)
-currentlogs: upload all current log files (not compressed)
-pastlogs: upload all compressed log files. No checks are done to see if the log has been already uploaded or not.
-accounting: upload the accounting log file.
-report: upload the diagnostic report.
-content: upload a list of all content files available on the device. The format used to describe the content is the same one as the one used to describe a repository.
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Spinetix.com/NONSGML Spinetix Control Center//EN BEGIN:VEVENT UID:14d64d53-a926-4a71-848d-c78234b195fe DTSTART:20080722T200000 DTEND:20080722T210000 URL: http://webdav.spinetix.com/logs/ SUMMARY:upload DESCRIPTION:-format %s/%d-%n.%x\n-accounting\nhttp://localhost/log/warn.log RRULE:FREQ=DAILY;WKST=SU END:VEVENT END:VCALENDAR
RPC action
The RPC action can be used either to obtain feedback from the device (reboot, heartbeat, etc) or to post an RPC task from a central server. The complete documentation for this mode is available in a separate document.
Pull mode will send two type of notification to the server:
restarted: send each time the player is restarted.
© 2013 SpinetiX S.A. All rights reserved.
18
ready: send each time the rpc action start, and at the end of every polling
intervals if one was specified.
Both notifications include the serial number of the device.
This action uses the following fields:
Title = rpc Location = URI of the RPC server Description: options
-polling <time>: controls the intervals at which pull mode should send the ready() notification to the server.
-notification: If specified, the RPC will be used only to send notification actions. The RPC server is not allowed to send commands in reply to the player posts.
Example of an ICS file for an rpc action:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Spinetix.com/NONSGML Spinetix Control Center//EN BEGIN:VEVENT UID:14d64d53-a926-4a71-848d-c78452b195fe DTSTART:20110411T080000 DTEND:20110411T210000 URL:http://demo.spinetix.com/rpc_server.php SUMMARY:rpc DESCRIPTION:-polling 30 RRULE:FREQ=DAILY;WKST=SU END:VEVENT END:VCALENDAR
Inline-RPC action
Need firmware 3.0.0
HMP Pull Mode Firmware 3.0, version 1.0
19
The Inline-RPC action can be used to trigger any RPC action directly from an ICS file. This solution should be used only if it is not possible to setup a an RPC concentrator, as it is less reliable.
Inline-RPC action will be executed only if the player is turned on when the action need to be executed. Action scheduled to start after the booting time of the player will not be executed, even if they are still valid at the booting time.
Return value for the action will be logged into the uploader logs.
This action uses the following fields:
Title: inline-rpc Description: rpc command to be executed.
For instance {"method":"restart"} will restart the player
Example of an ICS file for an inline-rpc action:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Spinetix.com/NONSGML Spinetix Control Center//EN BEGIN:VEVENT UID:14d64d53-a926-4a71-848d-c78452b195ff DTSTART:20121221T000000 DTEND: 20121221T000100 SUMMARY:inline-rpc DESCRIPTION:{"method":"restart"} END:VEVENT END:VCALENDAR
Controlling display during the publish
By default, the content on the device is updated incrementally by the publish process. The index.svg file is updated at the end of the process to make sure the rendering engine start playing the updated project at the end of the publish. However, during the publish process, the content being displayed on the screen is undefined.
In many cases it is desirable to control what is being displayed on the screen during the publish process. In that case special care must be taken in designing the structure of the published content.
publish_screen
Need firmware 3.0.0
If the content to be published contains a file called publish_screen.png the file will be displayed on the screen until the end of the publish process.
If the content to be published contains a folder called /publish_screen/ the publish process will behave as follow:
All the content of the /publish_screen/ folder (including sub folder) are
downloaded onto the device.
The rendering engine looks for the files called index.svg inside the folder and start
displaying it on the screen.
All the content to be publish is downloaded onto the device. The rendering engine start displaying the normal content again.
Loading...