From SpinetiX Support Wiki
Publishing content from Elementi refers to an optimized process of copying a project to a list of target devices - usually one or more HMP devices. The list of target devices can also contain USB storage devices and Publish Locations (i.e. web servers).
The publish process consists of the following steps:
- Compare the content from the project with the one present on the target location.
- Remove from the target location all the files that are no longer present in the project being published.
- Copy the new and / or modified files to the target location. Unmodified files will be skipped!
- Only a single project can exist on the HMP at any given time, therefore it is not possible to publish more than one project in the same time.
- Publishing to an HMP is recommended over uploading the content directly to the HMP because when a slightly modified project is (re)published, only the differences will actually be copied to the target location, thus saving both time and bandwidth
- The Etag and/or Last-Modified HTTP directives are used to determine if a file was modified or not - see Caching page for more details. .
- The publishing is done via the WebDAV protocol on port 81 or 9802 for secure publishing.
- Starting with Elementi 2018, secured publishing using TLS-SRP is activated by default for HMP400, HMP400W, HMP350, and HMP300 devices automatically discovered. An update of the user password might be required to activate SRP.
To publish a project using Elementi follow these steps:
- Go to the Browse panel.
- Select a project (or double-click to open it). The "Publish" button becomes active.
- Click on the "Publish" button.
- The "Publish" dialog opens, displaying the list of target devices where the project will be published to.
- This list is empty if the project has never been published before and already filled up otherwise. After a publish, Elementi stores (per project) the list of target devices.
- The following can be target devices: HMP, USB storage drives, collections, and Publish Locations.
- To change the list of devices, click on the "Add/Remove" button. This will extend the pop-up window.
- All the devices are showed on the right side list. You can add / remove target devices using drag & drop or the arrow buttons situated between the two lists.
- Click on the "Publish" button.
- A dialog opens showing the publishing progress onto the selected targets - wait for the publish to complete.
- Interrupting a publishing event might have unpredictable results - republish the project if that happens.
- A publish action that takes a significant amount of time could potentially lead to nothing being displayed on the screen (i.e. black screen) during this period - this can be avoided by using a temporary publish screen.
- Content created with Elementi usually require a minimum firmware version on the HMP - during publish, Elementi checks the target HMP firmware and if that is lower than the required version, then the publish is stopped and an appropriate error message is displayed.
This feature is useful when the publish takes a significant amount of time, during which nothing is displayed on the screen (i.e. black screen). To avoid the black screen, the project being published should contain either an image named publish_screen.png or a layout named publish_screen.
See full article on Publish screen.
The Publish Location feature of Elementi M / X offers the possibility to publish content directly on a web server, thus facilitating content deployment for large setups involving a centralized content server or for those cases when is not possible to push content directly on the HMP (for instance, due to firewall / NAT usage).
See full article on Publish Location.
Publish using different ports
The ports used for publishing are 81 (for HTTP) and 9802 (for secure HTTP). These cannot be changed on the HMP side - if they are not opened for direct access, then should use a publish your project on a web server (Publish Location) and use Pull Mode to retrieve it from there.
Alternatively, you can use port forwarding in your internal network - for instance port 5555 forwarded to 81. In this case, follow these steps:
- Open "Devices" and add a new "Publish Location".
- Enter the hostname (e.g., spx-hmp-001d502000b2) or the IP address of the HMP and specify the port used (i.e. 5555).
- If the player is password protected for publishing, then enter the user name and the password.
- Save and test that you can publish to the player.
- IP-related : Your HMP may have a static address which is outside the routing address space on your network. Open HMP Control Center using the local address of the player and set the IP to dynamic or to a static address that you can reach.
- Port-related : To publish from Elementi, the ports 81 and / or 9802 must be open for outbound communication on your PC and no firewall or router should be blocking these ports on the HMP;
- Proxy settings : Many publishing problems can be resolved by using "No proxy" instead of the default "Use system settings" setting.
- Anti-virus software : If you are using an anti-virus software, make sure to configure it to fully allow all Elementi operations, for instance by adding Elementi on the exclusion list.
- Windows 10 update breaking the player name resolution : Details below.
- Fusion interface is enabled on HMP200 or lower : Disable Fusion to be able to publish to the device.
- To get additional information about the publish error, click the "Details" button - some known cases are detailed below.
- Starting with Elementi 2018, secured publishing using TLS-SRP is activated by default for HMP350 and HMP300 devices discovered automatically - if the usual credentials no longer work, you need to update that user password to activate SRP.
Known error message displayed when trying to publish:
- Device not present
- The target device is currently not available, or its name changed.
- Firmware not compatible
- Content created with Elementi usually require a minimum firmware version on the HMP - during publish, Elementi checks the target HMP firmware and, if that is lower than the required version, then the publishing is stopped and this error message is displayed. The solution is to update the firmware on those devices.
- Problem detected with target device. Widgets using channels will not work properly. Are you sure you want to continue?
- This happens when trying to publish a project containing data-driven widgets and one or more of the target HMPs have not been added to Cockpit. To solve the issue, open the HMP Control Center and add the player to Cockpit using the same account as the one used to register the Elementi license into Cockpit.
- Listing device failed
- This error means that Elementi cannot connect to the target device - see below for more details.
Listing device failed
This error means that Elementi cannot connect to the target device - there could be different reasons for that, so click the "Details" button to get more information about the error, like:
- "Server or proxy hostname lookup failed : '/' -> Could not resolve hostname [...]: The requested name is valid, but no data of the requested type was found"
- This occurs when the player is detected as offline by Elementi or when the Bonjour plugin (responsible with the device name resolution) is deactivated. See also the note below about Windows 10.
- "Could not connect to server: No connection ... because the target machine actively refused it."
- Starting with firmware 4.3.0 , the player default behavior is to allow connections to publish server over secure HTTP only - this error occurs when publishing from an outdated software (older than Elementi 2017) or on a manually added player for which the option "Use HTTPS" is not checked.
- "Could not connect to server: HTTP PROPFIND [...] Connection refused"
- "Could not connect to server" (other messages)
- This can occur when the player has been detected online by Elementi at the time of publish, but the network connection got lost in the meantime. Make sure that the player is still online and then try again.
- "HTTP Error: Command PropFind in '/' -> 0: SSL handshake failed ... sslv3 alert handshake failure"
- "HTTP Error: Command PropFind in '/' -> 0: Server certificate issued for a different hostname, issuer not trusted"