What to expect in 1.8 “Tempel”

Back in October we let you know what to look forward to in 1.7 and beyond and since writing we have delivered 5 releases of 1.7, 6 Xibo for Android releases, moved to GitHub, opened the Xibo Community Forums and made many improvements to the Xibo Cloud.

Spring Signage are also pleased to be able to provide another full time Xibo resource, so please welcome Piotr Mis to the team (@peter in community). Peter will be assisting with the day-to-day Xibo support and helping to test our releases!

1.8 codename “Tempel”

We are now hard at work on the next Xibo release, which will be 1.8.0-alpha. In our October round-up we mentioned Playlists and Interactive Signage as targets for this release and we can now narrow this down and elaborate.

Playlists

Support for Playlists will be in the release. This is the idea that the contents of a region can be re-used across multiple layouts allowing content creators to have a set of layouts that differ slightly, but with the same main content. An example would be displays around a campus with an arrow showing the nearest exit in one region, but a common region for the other content. There are more details in the Feature Topic.

Interactive Signage

The full interactive signage implementation (as described in the Feature Topic) will be part of 1.9 Series, but we hope to include some basic features in 1.8.0-alpha2. In particular we hope to write a player API which allows 3rd parties to directly take certain actions on the Player (change layout).

Xibo API

The Xibo API has been in BETA for a long time, too long as far as we are concerned. 1.8 series will include a RESTful API with 100% coverage and a complete API document. We hope that this API functionality will greatly improve 3rd party interaction with Xibo and give developers a stable and reliable link into the Xibo CMS.

Changes for Developers

We recognise we have been on a journey with our Framework, Theme and Module Implementations and that this journey hasn’t always been a happy one! A lot of Xibo has been in existence since 2006 and doesn’t stick to modern day standards and ideals. We are happy to announce that this is going to change in 1.8 onwards.

We’ve decided to bite the bullet and strive for real code change – here are the highlights we’ve adopted:

  • PHP 5.4 or higher
  • The Slim PHP Framework
  • Twig
  • Composer
  • PSR-4 (yes, Xibo has a namespace!)
  • MVC (yes, we have models, controllers and Twig Views!)
  • RESTFul by design
  • A separate Web Folder for Security
  • PHPUnit

These changes have meant a lot of work, but have also meant that every bit of Xibo code has been revisited, scrutinized for improvements and had a test written to support it. We hope that adopting these standards means more contributors, more ideas and more Xibo!

What to look forward to in 1.7 and beyond

The Xibo Project is fast approaching a stable 1.7 release of Xibo named “Tuttle” and we’d like to let our community know what to expect and what to look forward to.

2013 – At the start of 2013 we had some good news for Xibo and we wrote about it in our blog post “Upcoming in 2013“. Between then and now our remit for 1.5/1.6 grew into something much larger and resulted in 10 releases packed with new features.

2014 – Another exciting year for Xibo which has resulted in Spring Signage being able to provide full time development resources for Xibo. These resources came on-line in August 2014 and allowed us to speed up the improvement of the product and the products quality. In only 3 months we have a new website, new “Xibo in the Cloud” services, two 1.6 bug fixing releases and two alpha releases of 1.7 (“Tuttle”).

1.7 – our focus for Xibo 1.7 has been usability. We want to shake off our “digital signage for tech people” image and become the “digital signage for everyone” solution that our tag line promises. To do this we have had to re-engineer a number of Xibo processes as well as focus more on the user experience.

Here are some of the things you can expect to see in 1.7:

  • A new CMS theme.
  • Help on every form field.
  • A new installer and  updater with more information.
  • A better calendar.
  • More translations, fewer gaps.
  • Simplified client installation.
  • Centralised client settings.
  • More modules (clock, weather).
  • Multi-select for key transactions.
  • Better layout design experience.
  • The usual general bug fixes, patches and improvements.

We hope to have 1.7 fully released as a stable version early 2015.

1.8 – code named “Tempel”, 1.8 is our future release that we have targeted for stable release in summer 2015. The exact roadmap is still being developed but we have 2 key objectives to meet with this release:

  • Playlists within regions – reusable playlists with start/end dates that exist inside a region and can be reused across multiple layouts.
  • Interactive Signage – events (buttons, sensors, rs232, bluetooth) to trigger actions in Xibo (layout changes, playlist changes in regions).

We are very grateful to the Xibo community for the support with reporting bugs, asking and answering questions and Xibo for Android purchases. We hope that the above is as exciting for new and existing users as it is for us.

Upcoming in 2013

In 2012 the Xibo Project saw some excellent growth and some equally good improvements to the platform – we are aiming for the same in 2013 and want to push forwards to offer some great new features. Here are a few highlights of the last 12 months!

  • 10,000 known displays running Xibo (we strongly suspect 4 times this figure)
  • 55,000 downloads of the 1.4 series of applications
  • 1,000 fans on our Facebook page
  • 130,000 downloads of the 1.2 series of applications
  • Launching the new Website
  • 1.4 as the most stable release yet
  • DataSets, Permissions, Campaigns and Shell Commands
  • Launching Xibo for Android to help support the project
  • More community activity on Launchpad than ever before

So what can you expect? Looking ahead to 2013 we have 3 main goals on our road map…Capture of new theme layout designer

Content Management System – a new look and better themes

We have been hard at work implementing a cleaner, more professional, easier to use theme for the content management system. It is due to be released as a development preview shortly and we hope will bring a fresh experience to the Xibo User Interface. At the same time we have been adding a workable theme engine so that you can add your own feel to the User Interface and have a sensible upgrade path once you have done so!

Improved Media Choices

Many of the basic features in Xibo were born over 6 years ago and have remained mostly the same since then – we have become aware that a lot of items are very outdated and that we are missing some basic functionality offered by our paid competitors. We don’t like this situation and we will be working hard to improve it – the following areas are first in line for some TLC:

  • Images and slideshows – easily grouping images into slide shows and transitioning between each image.
  • Tickers – more support and better support for different feeds, better user interface for designing your item template, extracting items from feeds, custom sources for feeds.
  • Videos – gap-less playback of videos in a sequence.
  • Clock – a standard clock media type.
  • Weather – a standard weather media type.
  • DataSets – data types and formula support for columns, location awareness for displays and allowing a dataset to be the source for a ticker.
  • Transitions – adding transition support for the Ubuntu Client and as much support as possible on the Windows Client.

Xibo API

The API has been developed in the background for a long time – we want to bring this development into focus so that you can start using it to build applications and extensions to Xibo. The API will support all functions of the Xibo system and should allow 3rd parties to develop anything from a layout designer to a display management application.

A note on Android

As the project has become more popular it has grown into a large community and placed much more demand on our resources (which is excellent!!) – however it became obvious that we needed a way of commercially supporting the community platform. We decided to do this by launching a low cost, yet full featured Android client (Xibo for Android).

This has been a great success and has already allowed us the time to develop many additional features for the Xibo Project. A big thank you to all our BETA testers and customers so far.

We have also been able to continue our sponsorship of the Goldstone Griffins Football Club and we hope to be able to provide more support for this local team!

Introducing a new region Timeline editing window

The next article in the run up to 1.4 looks at improvements to the region timeline editor and layout preview. Our intentions with these improvements are:

The vertical timeline is a sortable list

  • To make the region time line more consistent, easy to understand and allow it to support more media modules
  • Simplify re-ordering the items in the timeline
  • Make it easier to add new items from the library
  • To make the region preview reflect the client more closely

Region Timeline

The region timeline has been re-designed to use a vertical list of “media nodes” which are all the same fixed height. The module add buttons are repositioned to the left hand side, and a simple text preview is positioned on the right hand side, on hover.

In addition all of the media nodes in the timeline can be dragged and sorted like a list, they will not be saved in their new order until the “re-order” button is clicked, allowing the user to make more than one change at a time. Also the media nodes automatically flow around the one that is being re-ordered. Making the entire process more elegant.

Available media and media to assign are shown in two lists

The same is true when the user comes to assigning media from the library. The interface has been improved to used a 2-list style interface of available/assigned media. Items can be dragged and dropped from the available list to the assignment list and re-ordered before assignment.

Region Preview

Where possible the region preview has been updated to better reflect the options selected for each media item. This will allow greater accuracy between what is designed using the editor and what is seen on the actual display client.

 

These updates are a small set in the right direction for our layout designer – our hope is that they are well received, but as always we welcome any comments and discussion over on Launchpad Answers.

Introducing a threaded, more robust Windows Client with improved library management

The next article in the run up to 1.4 looks at improvements to the Windows client’s connection to the Xibo server and its library management.

These improvements can be categorised into the following areas:

  • Reduced “lag” and “display jitter” when the client is connecting to the Server
  • Concurrent file downloads
  • Clearing up old and unused files in the library
  • Information window showing client status, library status and log information
  • Replacing the splash screen

Reduced display jitter

The Windows client has always been “single threaded” which means that it processed instructions one after the other in sequence. This meant that when the client was doing something intensive that wasn’t displaying content (such as verifying the files that needed download) there was a chance of display “lag” or jitter while this other action was occurring. Prime examples of this were displaying scrolling text, or loading new media when it reached the end of its play time.

The has been greatly reduced in the new client by “threading”, meaning the client is separated into different part which all act independently of each other. There are now seperate threads for the following:

  • Checking the schedule on the server
  • Checking the files required on the server
  • Downloading files from the server
  • Calculating the valid schedule

Concurrent File Downloads

Another effect of the “single threaded” design of the old client was that it could only download one file at a time, in sequence. The new client has been improved to allow a user configurable number of concurrent downloads.

This allows files to be pulled into clients faster and more efficiently.

In addition to this the client will now resume interrupted downloads, especially useful for clients with intermittent or slow connections.

Client Info Screenshot
The Client Info window showing status of all communications, schedule, library info and recent logs.

Clearing up old and unused files

Anyone that has been running a client for a long time will have noticed that the local client library doesn’t automatically tidy itself up and will get larger and larger as time goes on.

The new client manages this library much more efficiently, clearing up files that are no longer needed (including temporary files).

This can be managed using the “required files look ahead” setting in the server – increasing this value causes the client to consider media to be required for longer.

Client status window

It has always been a challenge to see what is going in within the client, especially if it is not showing what you expect. The new client comes with an info screen which shows you the status of all communications with the server, the current schedule and the contents of the library (with progress indicators for current downloads).

Replacing the splash screen

Due to popular demand we have also included an option in the client to replace the Xibo splash screen with a file on the local PC. We have “resisted” this in the past because maintaining this website and the Xibo wiki does cost us some money – and de-branding the client has previously been a good method for funding this site.

However in the interests of being as “open” as we possibly can, we have chosen to make it easier to “de-brand” the client with this splash screen replacement feature. Apologies it has taken us so long to do this.

If you do decide to replace the splash screen with one of your own, then it would be fantastic for the project if you made a small donation.

If the image you select is invalid or cannot be found, Xibo will default back to the current splash screen.

Summary

Our long term intention is still to replace the Windows client with a fully cross platform client – however this is taking us longer than expected due to a number of technical reasons. We hope that these improvements to the current Windows client will be a good “stop-gap” for a more professional, reliable solution while development on the cross platform client continues.

Introducing new features for Service Providers

Usage statistics in the Settings Window
Usage statistics can be found in the Settings Window under the Content tab

The next article in the run up to 1.4 looks at some small new features for people that use Xibo as service providers. It is difficult to tell how many use Xibo in this manner, as not many come forward – but those that do have mentioned that it would be nice to have a way to manage limits on the library file size and monthly bandwidth usage.

We have completed this work by virtue of two new settings in the settings table (LIBRARY_SIZE_LIMIT_KB & MONTHLY_XMDS_TRANSFER_LIMIT_KB) – these are not available through the user interface.

If no limits are entered, everything continues to work as before… however once a limit is entered Xibo will start validating against these limits, and when they are exceeded will prevent the upload of new media / updates to clients.

A visual queue is provided on the settings page. In the future we will extend this to also include a bandwidth chart, and some metrics on the dashboard.

Hope this is useful to service providers… both those we know about and those we don’t! As usual, comments and thoughts are appreciated over on Launchpad Answers.

Introducing Wake On Lan for Display Clients

The next article in the run up to releasing 1.4 will look at the new Wake On Lan (WOL) feature of Xibo.

Edit Display Form
WOL Settings on the Edit Display Form

There has been a lot of interest over the years Xibo has been running for a solution to be “green”, “save power” and generally not have the Xibo display screen solution on unnecessarily. The Xibo project has been very keen to put these things in place, and 1.4 will contain a number of measures to make these wishes a reality.

The WOL function is intended to be used for display clients that are addressable by the server, by this we mean that there has to be a clear addressable network route between the server and the client that needs to wake up. It is also required that WOL is turned on in any necessary settings on the client PC.

The WOL configuration happens on a display by display basis from the Edit Display form. Each display has new settings for:

  • Enable Wake On LAN – (Turn WOL on/off for the display)
  • Wake On LAN Time – (Specify a time for this display to wake, using the 24 hr clock)
  • BroadCast Address – (The BroadCast address of the client, if unknown use the IP address and fill in the CIDR field)
  • Wake On LAN Secure On – (The SecureOn password for the client, if supported)
  • Wake On LAN CIDR – (The CIDR subnet mask, if the BroadCast Address is unknown)

Once the display has these settings it can be woken up in 2 ways:

Wake On LAN Now

WOL Now Button
Wake On LAN button can be used to wake up the client immediately

Each display has the “Wake On LAN” button which can be used to send a wake on LAN command on demand. Clicking the button displays a form for confirmation, once this is pressed the command is send immediately to the client.

Wake On LAN Time – Maintenance Script

In addition to the WOL now function, the Xibo maintenance module has been altered to send a WOL packet to any display which has a “Wake On LAN Time” specified. It will only send the command once, as the time window is passed.

The maintenance script has to be running for this to work correctly. Maintenance instructions can be found on the wiki.

Putting the client to sleep

There are a few different options for putting the client to sleep – such as a scheduled task. However, the next article in this series will look at an option built into Xibo. The “Shell Command” module.

We hope you will find this new functionality useful! As always comments are always welcome over on Launchpad Answers.

Introducing the Layout Designer Jump List

Layout Jump Button
The Jump Button icon and form showing list of available layouts.

Its been a while since our last article looking at features of the upcoming 1.4 release. We have a small but useful enhancement to look at this time – Layout Designer Jump List.

This little feature allows navigation between layouts a user has permissions to design, without having to jump out to the list of layouts each and every time. Its accessible from a new icon on the layout designer, called “Jump to…”

Once clicked, it presents a list of accessible layouts with a “Design” button – selecting the button will load corresponding layout into the designer window.

Introducing an Improved Permissions Model

Permissions Dialog

The next article in the run up to 1.4 stable release will take a look at the improvements made to the permissions model in Xibo. There has been long running confusion over the permissions in Xibo and hopefully this will now be addressed. We have improved the permissions model in 1 key way – allowed users and administrators to set view, edit and delete permissions on:

  • Library Media
  • Layouts
  • Regions in Layouts
  • Media on Region Timelines
  • DataSets
  • Display Groups
  • Displays

All of these items have the permissions set in the same way, via a simple to use dialog showing groups and users. In addition to this all permissions are validated with each form load, or save button clicked so you can guarentee “real time” modifications to the permissions on items.

Here are some key facts about the new system:

  • The Highest permission is used (if a user belongs to 2 groups, one has edit permissions and the other doesn’t – the user will have edit permissions)
  • Permissions are tested with each transaction
  • Permissions on an item can only be changed by the owner or a super administrator (for displays and display groups that have no owner, this is super admin only)

These permissions are then reflected in all tables, forms, lists and on the layout designer.

Summary

We hope that these improved permissions will make it easier to manage Xibo, particularly in environments where there are many users accessing the system. As always, all comments and suggestions are welcome and appreciated over on Launchpad Answers.

Introducing improved User Password Management

The next article in the run up to 1.4 stable release will take a look at the improvements made to User Password Management.

Up until now user passwords and user management in general has not always been clear in Xibo – we have tried to improve the situation with 3 new features/improvements:

  • Users can change their passwords without having access to the user administration page
  • Administrators can set a regular expression to test password complexity
  • Administrators can override users passwords in a more intuitive way

Hopefully this will clear up some confusion with users having access to the user admin page and ensure better security through more complex passwords (at the administrators discretion)

Settings for the Password Policy on the Permissions Tab

Password Complexity

When designing this feature we wanted the utmost flexibility given to the administrator to test passwords in which ever way they chose. Therefore we have introduced a new setting in the “Permissions” tab called USER_PASSWORD_POLICY (will be translated into the local language before release).

An administrator can put any valid regular expression in this box, which will cause all users password change requests (and new users) to be tested against this expression.

It is also important for the user to know what the policy actually is – therefore we have introduced another setting called USER_PASSWORD_ERROR which will be presented to the user when they enter a password that does not validate against the regular expression.

Users can change their password by clicking on their username

Changing Passwords

A user can now change their password by clicking on their user name in the top right corner of the admin interface. They will be presented with a form requiring them to enter their existing password, a new password and a retyped new password – all fields are required.

An administrator can now easily override / reset a users existing password by editing the the from the user admin screen and ticking the box to “override”.

Summary

We hope that these enhancements will make it easier for administrators and users alike and make Xibo more flexible and secure! Comments and Feedback are always welcome over on Launchpad Answers.