Welcome to Scala Release 10.2.3!
Congratulations on selecting the next generation of the most
widely deployed digital signage software platform in the world, from
Scala. With this release, Scala aims to continue to exceed your
expectations with the highest level of service and state-of-the-art
technology. The entire Scala team appreciates your business and we
look forward to working with you.
Scala Release 10.2.3 adds several important new features
and modules, as well as performance improvements and fixes to various
issues. Release 10.2.3 is a cumulative update, including all the
benefits of all previous improvements.
Some highlights include:
Full details on these and other improvements appear below, in the release notes.
- Improved user-experience within Scala Enterprise Content
Manager, including new features, status icons, streamlining,
and performance optimizations.
- Ability to schedule messages to Android media players.
- Improved support for HTML5 Web Clip media, in Content Manager,
Designer, and Player.
- Support for images in crawls/tickers, and in text elements.
- Auto-recover support for Designer scripts.
- Playback Audit reporting, Broadcast Server support, and Server
Monitoring in Scala Enterprise.
- Additional language-translations.
Other Release Notes
Below you will find links to information that will help navigate
your new Scala product and ensure that you maximize your
- Roles with numeric only names are now allowed.
- Fixed a bug where you can't change Roles for multiple users at the same time.
- Made a change to a user-related error message received when importing a username that already exists.
- Improved error message when attempting to create Roles with reserved names.
- Improved password field labels in Settings.
- Fixed a bug to remove unnecessary hyperlink in Media Distribution.
- Fixed several modal window titles.
- Corrected a visual layout bug affecting modal button display.
- Fixed a bug concerning closing the modal during a media upload.
- Modals on the IAdea Bridge Server now close correctly.
- Fixed a bug that caused modal dialogs to open multiple times when selecting media.
- Added a spinning gears to indicate system processing when updating or deleting multiple Players at once.
- Fixed a bug that prevented the spinning gears from appearing on the Playlist landing page within the dashboard.
- Added the spinning gears to the Duplicate screen when adding a Playlist that contains many items.
- Fixed a Firefox browser-only issue affecting the Distribution Schedule tab
- Fixed an IE9-browser only related configuration screen layout bug.
- Improved translations in the detail section of Playback Audit Report
- The name of the Playback Audit Reports respects localization.
- Fixed a UI-related Plan Generation Schedule for non-English users.
- Corrected visual layout bugs caused by certain language localization selections.
- Fixed a rare issue that caused Playlist Items to update unnecessarily.
- Corrected a rare bug in which the UI for selecting Owner Workgroup for a Playlist can be checked multiple times.
- Fixed an issue with Playlist filters on Ad Manager.
- Renamed the Channels filter title to “Channel’s Timeslots” on the Playlist landing page.
- Fixed an issue that affected Playlist shuffling percentage value.
- Fixed a bug that caused Media to become corrupted when publishing a newer version of a Scala Script (if a prior revision was published in SCZ format).
- Fixed a rare bug that affected the list of connectors in Server Settings.
- Corrected an issue with numeric only time triggers.
- Fixed a bug that hid approval commentary
- Improved the performance of Player Selection after an update of MySQL.
- The use of Filters no longer makes the duplication button disappear on the Media landing page.
- On Player landing page, we have merged the filter Player Problems into Player Status.
- Enhanced field validation for UNC in Publish Location.
- Fixed an issue with the preview/lightbox in Media History
- Fixed a bug with API for weekday timeslot attributes.
- Fixed a bug relating to a deleted scheduled Plan Generation.
- Fixed a Bandwidth Throttling bug for multi-edit of Players.
- Real numbers are now correctly saved in string fields.
- Fixed a rare bug that caused the Media preview window not to show.
- Fixed a rare bug where setting an old revision for template was not working as intended.
- Fixed a rare bug where multi-edit actions against a Playlist weren't saved properly.
- Fixed a bug that could occur in certain rare conditions that caused the Playlist to be locked in an unhealthy state.
- When multi-editing Playlist items, system now provides the default value for Transition Duration.
- Improved usability issues regarding drag and drop interaction within Playlist Grid Mode.
- Fixed a rare bug where Playlist Shuffle was not obeyed when a Condition is defined.
- Fixed a bug where a Playlist with an Unknown Status could not be updated.
- Fixed a bug to include Smart Playlist recommendations for new Timeslot Properties.
- Fixed a bug so that Playlist Media Items Lists are displayed correctly after using Edit Multiple.
- Fixed a bug that allows Transitions to be correctly set while using Edit Multiple in Playlist Items.
- Fixed a bug to appropriately disable drag and drop into a Playlist in certain situations.
- Fixed a bug where Player Plans were incorrectly generated because they contained multiple Sub Playlists with Conditions.
- Fixed a bug when applying Network Bandwidth Throttling to multiple Players.
- Fixed a bug that affected related Player Group filtering during the process of deleting Player Groups.
- Fixed a bug to insure the correct Workgroup is assigned when a Web Page Media item is created by a user.
- Fixed a bug for Media Item Properties ingested from a Publish Location.
- Fixed a bug in the API to always return a list of Schedules as an array, even when it only contained one Schedule.
- System now logs Player UUID with Player IP Address to better support administration and debugging.
- Fixed a bug to correctly display Players associated with a Maintenance Job.
- You can now see at a glance whether a Playlist has problems or
warnings. A Playlist is marked if any of the following are
When looking at Playlist items, you can see at a glance which
items have which problems or warnings.
- Contains a Media item whose upload is not complete.
- Contains a Media item that needs approval.
- Contains a Media item whose valid-date has passed.
- Contains a Playlist item whose scheduled valid-range has passed.
- Contains Sub-Playlists that are unhealthy.
- Re-introduced icons in many places, including:
- On the Media list, for approval status and for
- On the Players screen, for heartbeat status, plan
status, and disabled players.
- On the Player Health screen, for player health
- On the Schedules screen, for the recurrence
pattern of timeslots.
- Various other places (User Profiles list,
Maintenance Jobs list, Distribution, ...)
- If you schedule a Message to an Android Player or a Samsung Player,
it will display as a sequence of still-images.
- Significantly improved overall performance of the main screens
within the user-interface.
- There is a new Playlist filter for Playlist Status, for
viewing playlists with problems or warnings, or viewing
- Added a Scala news feed to the Content Manager dashboard. This
can be turned off or on from the Miscellaneous Settings
tab of the Network Settings
- The Content Manager dashboard now loads much faster, in some
- The Server Monitoring functionality has been restored. On the
System Settings screen, the Server Monitoring tab
lets you open the monitoring and diagnostics provided by
JavaMelody. JavaMelody has been upgraded to version 1.48, which
includes performance-profiling support and other
improvements. (To enable profiling, see the comments in
- The Playback Audit reporting functionality is now supported
within Scala Enterprise Content Manager. The various needed
screens and properties have been created for the new
user-interface. To use the Playback Audit log parser:
- Enable Legacy Web Services within Content Manager under
Network Settings > Legacy Web Services
- Install the Playback Audit Parser on the same server or
a separate computer, supplying the correct URLs and
credentials during installation.
- Enable Playback Audit reporting within Content Manager
under Network Settings > Miscellaneous
- Log out and back in again.
- Go to Reporting > Database Configuration to
set up the Playback Audit database options, then go to
Reporting > Settings to set up report
- Under 64-bit Windows, the Playback Audit parser now runs as a
64-bit Java application. (A separate 32-bit Java runtime is
therefore no longer needed.)
- The Broadcast Server is now supported within Scala Enterprise
Content Manager. The various needed screens and properties
have been created for the new
- All time-fields use a new, improved time-editing
- When selecting dates in the calendar picker, there is now a
drop-down list for months and for years, to easily reach more
- Improved the appearance and information on the login
- Removed the black footer from the Content Manager screens, for
better use of screen space especially on smaller devices such
as tablets or phones.
- The various modal dialogs no longer animate their size or
- When adding Media to a Playlist from the Media screen,
you now have the option to create a new playlist.
- When adding Media to a Playlist from the Media screen,
the Playlist chooser now has a Playlist-type filter. If the
Media is audio, the list is filtered to show only audio or data
- You can roll back a Media item or Template to an earlier
revision by going to the History tab of its
Properties, selecting a prior revision and clicking
Set as Current Revision.
- For Widgets and HTML Media items, you can now choose additional
options, including Composition mode, Backdrop
opacity, Show scrollbars, and Interactive,
which affect how these items work in playback.
- On the Media screen, thumbnails now load much
- If you make a Message using a Media element that is not
approved, you get a warning dialog, and the item is also
- You can select a Message and click Duplicate to make and
edit a copy. Duplicate leads to a naming dialog, and
then places you on the Preview tab for easy editing of
the new Message's elements.
- On the Media screen and Templates screen, when
adding Media, or selecting Media elements for a
Message, the user can now filter by
- On the Media screen, you can now filter by Upload
- The History tab for Media Items and Templates now
includes the date, time, and the user who uploaded the
- From the Templates screen, you can now select a template
and click New Message to create a message.
- If you select a Template, and go to its History tab, you
can see the previous revisions, and set a previous revision as
the new current revision.
- The creation and modification information for Templates is now
- When trying to delete a Template, the dialog now tells
you how many messages use this template.
- You can select one or more Playlist Items, and click the new
Move button, and move them to a different ordinal
position within the list.
- Playlists are again drawn with the "deck of cards"
- You can now convert a Smart Playlist to a normal Playlist,
either by selecting it and clicking Convert to Normal
Playlist, or by selecting it and clicking Duplicate
then selecting the conversion option in the resulting
- In the Playlist items view, if you scroll down to see more
items, the button bar (Add Media, Add
Sub-Playlist) remains in view.
- When adding Media to a Playlist, the Add Media dialog
now has separate Add and
Add and Close buttons, to make it easy to
add some media and remain in the dialog.
- You can now drag and drop media from your desktop into the
Items tab of a Playlist.
- Improved options available when editing a multi-selection of
- You can now click on a Playlist's thumbnail in places like the
Time Triggers or Event Triggers list, or the
Non-Scheduled Content tab, and get a lightbox-preview of
- Various improvements to the lightbox preview of Playlists,
including better handling of different-sized
- When defining the conditions for a Smart Playlist, you can now
match based on the Template used by a Message.
- When entering the details view for a Playlist, the Items
tab is now the initially-selected one.
- If you only have view-access to certain playlists, those
playlists are now denoted "(view only)" in the
- Playlist duration is also shown within the Playlist
- Playlist item properties is now faster to display.
- When working with Playlist Items, the button bar no
longer scrolls with the list, for easier access.
- In various dialogs where you select a Playlist, you can
now filter by Playlist Status.
- Improved drag-behavior when creating new timeslots.
- On the Schedules screen, you can now edit a timeslot
more easily by using the new Edit Timeslot
button. (Double-clicking is still supported.)
- On the Schedules screen, you can now delete a timeslot
more easily by using the new Remove Timeslot
- When changing the Frameset of a Channel, the frames of the new
frameset retain the schedule or triggers of same-named
frames. You are warned about frames whose schedules or
triggers will be lost if you proceed.
- When working with lists of framesets, you can now filter on the
number of frames in the frameset.
- On the Audiovisuals tab of a Channel, you can now mark a
frame as Hidden. This can be useful in certain advanced
scenarios to schedule a playlist that runs without
visuals. (This feature requires a matching version of
- Creating Event Triggers is now simpler and more
consistent. Instead of every channel variable being listed as
a potential trigger, you click Add and select the
variable to use for each trigger.
- You can now drag the Event Triggers to re-arrange their
- When returning to the Schedules screen, Content Manager
now remembers which channel's schedule you last
- Made the Save and Save and Close button behavior
consistent when adding channel variables.
- On the Channels screen, you can now duplicate a
- You can now edit a multi-selection of Channels.
- If you alter the Frameset of a Channel, you can now save it as
a new Frameset preset.
- Improved layout of the Channel Variables tab.
- On the Players screen, selecting Not Assigned or
Any Assigned under the Channel or Player
Groups filters will ghost the other filter choices.
- Improved the Player log viewer, with filtering, sorting, etc.
- Samsung Smart Signage Players now return logs, and report
problems to Content Manager.
- When configuring a Samsung Smart Signage Player, you can now
configure the log level and the plan-polling
- If you add or remove players or player groups for a Maintenance
job, you now have to explicitly use the Save button to
save these changes.
- Since you can re-order maintenance tasks for a job, they are
rendered with a "gripper".
- When adding Players or Player Groups to a Maintenance Job, the list is
- The playback audit reports now include the selection criteria
in the report.
- When the playback audit database is configured on a separate
server from the Playback Audit Parser, the parser now
automatically uses the remote-database logic. (Before, that
needed to be manually configured.)
- Back in Release 6.1, the Playback Audit Reporting
module grew a feature to include audit-events placed on
individual pages or elements in a ScalaScript. This is now
supported when the playback audit database is on a different
server than the Playback Audit Parser.
- Content Manager now ships with
Java 7 Update 45.
- When you update Content Manager to a new version, the web
application now automatically refreshes within each client's
- If the installer detects that your Tomcat, Java, or PostgreSQL
version is too old, it now tells you the minimum required
- The installer now sets default values for Tomcat Java memory,
based on your system configuration. (If you modify these
values further, the installer will respect your
- The installer now lets you disable or enable Tomcat access
logs. Although Tomcat access logs can be useful for certain
diagnostics, but can grow very large over time. The question
is asked once (whether a new installation or an upgrade), and
can be later accessed by re-running Setup and modifying the web
- Various user-roles need implicit rights. For example, a
message editor needs view-playlist rights. Before, these rights
were shown on the Roles screen as dimmed checkboxes, and
related screens — such as the Playlists screen
— would be reachable. Now, those screens are no longer
reachable unless a user has those rights
- The User Profiles list now includes a Roles
- On the User Profiles screen, you can now sort by Last
- The User Activity log now also contains password-change
- On the Workgroup column of the User Profiles
list, the full hierarchy to the Workgroup is now
- The Playback Audit Parser now cleans up its logs that are older
than 30 days.
- The installer for the Playback Audit Parser now warns that if
an existing Content Manager has a large accumulation of audit
logs, then those should be cleaned up before
- If a user has email notification enabled, then an email address
is required in order to save changes to that user's
- Improved the security of how the user-interface handles
authentication tokens to protect against cross-site request
forgery (XSRF) attacks.
- Content Manager has defensive logic to block repeated failed
login attempts from the same IP address. When using a web
accelerator (reverse proxy), the origin IP address will appear
to be the address of the reverse proxy, which could lead to
blocking too much. If your reverse proxy sets the
X-Forwarded-For HTTP header, you can tell Content
Manager to use the most recent IP address from that header when
making blocking-decisions for failed login attempts. To enable
this feature, set the UseXForwardedForIpBanning feature
option to true in features.xml. See Scala
Enterprise Content Manager features.xml Options for more
- As part of general security hardening, the 2.0 web services now
require a new API-token that is only accepted within HTTP
request headers. (The API-token is not accepted in URLs or
cookies.) There is a separate token, the get-token,
that is only allowed for GET services, and is supported in HTTP
request headers or within a cookie. (The get-token is not
accepted in URLs). These tokens are obtained using the
- You can now re-order Media Metadata or Player
Metadata by dragging the items in the list on the metadata
screens. That controls the order that metadata is presented on
individual Media items or Players.
- Content Manager now validates the length of Player and Media
- Added proper range limits for integer metadata.
- Under Internet Explorer, items per page is now limited to
a maximum of 100, for better browser performance and
- The Tomcat access logs can grow quite large on a busy server.
By default, they are now no longer included when using the
Download Logs feature. This can be changed by setting
the SKIP_ACCESS_LOGS feature option to false in
features.xml. See Scala
Enterprise Content Manager features.xml Options for more
information. (Either way, the logs remain kept by Tomcat on the
- Fixed a problem handling media with certain special characters
in the filename (e.g. percent signs).
- Fixed a problem when drag-uploading a large number of files,
where some of them would still be tagged as "Uploading..." even
when they were complete.
- Fixed a problem where a broken upload of a new revision of an
existing media item would not show the item as now
- Fixed a problem where certain media files wth spaces in their
file names could not be previewed in the
- If you logout, then immediately log back in as a user of a
different language, the menu-bar could have been shown in the
wrong language. This is now fixed.
- When creating a Message, if you select a media element, and
Cancel out of that, you are returned to the New
Message dialog, rather than canceling all the way out.
- If you add a media with unknown duration to a playlist, it will
be correctly treated as having unknown duration. (Before, it
could have ended up with a declared duration of one second.)
- When adding media to a playlist, if you clear a filter in the
Add dialog, the items list didn't always refresh
properly. This is now fixed.
- Clicking Clear to clear a message field now correctly
updates the number of characters remaining for the field.
- The confirmation button of the Add Web Page Media Item
dialog is now correctly labeled Create.
- Fixed a bug where after creating a new Web Page media item, the
media list would show all entries instead of respecting the
- When a user without approval rights created a new Web Page, it
was being approved automatically. This is now fixed.
- For a Message with a Playlist element, if no Playlist is
selected, a broken icon was sometimes shown. This is now
- A user that is not a member of any workgroup could not add
media to a playlist from the Playlists screen. This is
- Fixed an "invalid resource" error that could occur when a user
tries to edit a Message where the Template was in a different
- Fixed a problem when editing a multi-selection of Templates,
where editing the Description could alter the
Categories of some Templates.
- Fixed a problem where certain changes in Template
Administration could not be saved.
- If you delete all templates in the list, the button bar was not
removed. This is now fixed.
- Fixed a problem where editing the metadata of a multi-selection
of media would not update the selected items' timestamp.
- Fixed problems in the Workgroup filter inside the Add
Media dialog box.
- Fixed a bug where Media or Playlists belonging to a
since-deleted Workgroup would still show that they belong to
- Fixed a bug where pressing <Enter> in the multi-line text
box of a new message could trigger the Create action,
instead of inserting a newline.
- When importing users from LDAP, now correct assign the
workgroup based on the information from the LDAP server. Also,
a warning is now shown if the LDAP-indicated workgroup does not
exist within Content Manager.
- Fixed a problem where a Message with a Playlist element could
show an incorrect warning about unapproved elements.
- Fixed a bug where properties for a sub-playlist item were not
available if it was a Smart Playlist.
- Fixed a problem where a Smart Playlist with no conditions would
not update its items. (This could happen if you delete the
metadata used for the sole condition of the Smart
- Fixed a problem where after converting a Smart Playlist to a
normal Playlist, the item-number in the first column would not
- Fixed a problem where deleting a metadata condition from a
Smart Playlist would not always update the Items
- Fixed a problem seen in Internet Explorer where a "broken
link" icon would be shown for message elements that were not
- Turning off approval for a network now sets all media to
- A user with view-media rights but not edit-media rights no
longer is shown approvals-buttons. (Those buttons would not
have worked for that user in any case.)
- Under Media Information, media files that have no
dimension, or have no duration, no longer show those attributes
at all (before, a question mark was
- When creating a new Message, the Create button was
sometimes pushed off-screen. This is now fixed.
- In Media Properties and Message Properties, the creation time
is again shown.
- Fixed a problem where thumbnails for media of unknown type were
broken in languages other than English.
- Worked around a Chrome problem where a playlist with a large
number of items could crash the browser.
- Fixed a poorly-worded error message if you try to use an
existing name when duplicating a message or
- When viewing playlists with very large numbers of items, the
spinning gear would sometimes disappear before the list was
ready to show.
- Fixed a problem where setting an adjacency condition for
Playlist items could sometimes show "There has been a server
- Fixed a problem where updating several large Smart Playlists
could lead to a Server Error message being
- Fixed a case where a user was in rare cases blocked from
accessing a message if it contained an element belonging to a
- Various cleanups to the implicit rights needed to support
certain roles, including:
- Fixed a bug where a user whose role permitted deleting
messages but not media could not delete
- Fixed a problem where a user whose role included
everything would sometimes be unable to edit certain
- Fixed a problem where users whose role included "View
players" rights also had "Edit player metadata"
- Fixed a problem where users whose role included "View
playlist/Edit playlist" rights would not have access to
the View in Content Library
- Fixed a problem where users with "View Playlists" or
"Update Playlists" rights were unable to perform certain
tasks pertaining to workgroups, players, or player
- Users with Edit Messages rights can now create or
edit messages that have Playlist
- A user with "Full access to playlists" rights would in
some cases not be able to delete playlists. This is now
- Fixed incorrect Playlists breadcrumb after adding a
media item to a playlist from the Media screen.
- Fixed a problem in Smart Playlists, where Show Matching
Items would also show items from the wrong workgroup (the
actual playlist items were correct).
- Fixed a bug where a Smart Playlist's conditions would
not be shown if you navigated there via View in Content
- Fixed an error that could occur when using a Smart Playlist
condition aobut an integer-type Media metadata.
- Fixed a "This resource is invalid" error that could occur after
deleting all metadata.
- Fixed a bug when editing a multi-selection of Playlist Items,
where setting of transition options would not always
- Fixed a bug where after adding Media to a Playlist, before
clicking Save, the Adjacency picker would not show the
- Fixed an invalid error that could occur if you navigated away
from the Playlist Properties page while it was still
- Fixed a bug where after adding items to a Playlist and
performing certain edit sequences, the wrong items could end up
- Fixed a bug when editing multiple Playlist items and modifying
the Audio ducking and Fullscreen options, where
the OK button was not being enabled.
- Fixed a "No row with the given identifier" error that could
occur when deleting items.
- Fixed a problem where a Smart Playlist whose condition was
"Media.Type is Web Page" could show "Media.Type is ScalaScript"
- Fixed a bug where a Playlist item set to expire today would be
shown as expired.
- Fixed a bug where after duplicating a Smart Playlist, the item
duration in the new playlist ended up wrong.
- Fixed a bug where the Smart Playlist item count was not always
- Fixed a problem where updating the computed duration for
Playlists could take forever.
- In the Timeslot Properties dialog, if you change the
playlist, and then cancel out of the playlist dialog, it would
also cancel you out of the Timeslot Properties dialog.
This is now fixed.
- Fixed a bug where changing the color of a Timeslot could pop
the color to red.
- When selecting a Playlist for a Timeslot, it was possible to
filter for Playlists whose Workgroup is "Not assigned" at the
same time as "Any assigned". These options are now
- Fixed a bug where deleting a timeslot and creating a new one
could sometimes show both of them.
- Fixed a bug where unlocking a timeslot would remove its
- Fixed a bug on the Channels properties screen, where the
Save and Save and Close buttons could
disappear while adding channel variables.
- A user having only permission to view and edit channels was
unable to modify the frameset. This is now fixed.
- Fixed a problem seen under Internet Explorer where you
could not customize frameset dimensions.
- Fixed a problem seen under Internet Explorer where the
channel variable name defaults did not work as
- Fixed a problem where you could not specify a repeating time
trigger without also supplying the end time.
- Users can now access Timeslot Properties or
Triggers, even if the current Playlist is from a
workgroup they do not have access to.
- When changing which channel you're looking at on the
Schedules screen, the channel-list picker no longer has
a New+ button.
- Fixed a bug where it was possible to create players whose name
differs only by leading or trailing spaces.
- When uploading maintenance files using Internet Explorer, the
list of files was not always refreshing when the upload
completed. This is now fixed.
- In the Maintenance Jobs screen, the file selector now
lets you delete maintenance files you no longer
- In the Select File dialog of the Maintenance
screen, if you use drag-and-drop to re-upload an existing file,
it appeared to not complete. This is now fixed.
- Fixed a bug which prevented viewing maintenance job execution
- Fixed a bug where in rare cases a player inventory could be
- If you add or remove a player from a maintenance job, that
job's last-modified date was not being updated. This is now
- Removed some unneeded columns from the Add Players
dialog for maintenance jobs.
- On the Maintenance screen, the Players column now
shows the correct count after adding/removing player groups
from the maintenance job.
- Fixed a problem in the Job Execution Status dialog where
the Close button was sometimes pushed off the bottom and
- Fixed a problem that prevented setting network bandwidth
throttling, in some cases.
- Fixed a case where viewing 500 or 1000 players per page on the
Players screen could provoke the browser to crash or
- Fixed a bug on the Players screen where a player that
never reported could be listed as "Plan
- Fixed a problem on the Player Health screen where the
search filters did not always work correctly.
- When clearing all problems on the last page of the Player
Health screen, the page now updates correctly to show the
new last page.
- Fixed a problem where the bandwidth limit control could be cut
off when using Firefox.
- When deleting a Player Group, you are warned about where this
group is used. The links would to lists of Players or Playlist
Items that were not actually filtered by the affected group.
This is now fixed.
- Fixed a problem where after entering too long a role-name, you
would still get an error after entering a shorter
- Fixed a problem where it was possible to edit the
- Fixed a problem when working in the Roles screen where
the page URL could grow extra blackslashes and ultimately
- Fixed a problem when using a language other than English, where
changes to the Miscellaneous Settings tab of the User
Profiles screen could fail to be saved.
- Fixed a problem where starting to change the password, then
unchecking Change my password would leave you unable to
successfully save changes.
- Removed unneeded button-bar from the Import from LDAP
- Fixed a bug where it was sometimes possible to create several
metadata with the same name.
- Deleting a parent workgroup now correctly cleans up media items
belonging to sub-workgroups.
- Fixed a bug that prevented you from removing a Player Group
from a Player.
- On the User Profiles screen, users who never logged in
were sorted above the most recent logins, on systems that used
PostgreSQL. This is now fixed.
- Fixed a problem on the dashboard where the number of users
shown also included inactive users.
- Now enforce a 225-character length limit on folder names.
- If you have a Publish Location set to auto-approve all
content, and you use media from that Publish Location within a
Message, you could get an incorrect warning about media being
unapproved. This is now fixed.
- Fixed a problem where the Ad Manager options were not
always being shown, for mult-network Content Managers.
- Fixed a problem where on a fresh installation or
re-installation of Content Manager, it would sometimes not show
the initial setup wizard, leaving the installation unusable.
- Only the Administrator user can now access the API
- Fixed an incorrect warning message about unsaved changes when
navigating away from the Folders page.
- Fixed a bug where license upload could fail when using
Internet Explorer 8, 9, or 10.
- Fixed a problem where email-related exceptions were being
logged when no Mail Server had been configured.
- Improved the sizing of the dialog boxes, in certain extreme
- Fixed a bug on first installation where after naming the
network, Content Manager would sometimes appear to get
- Fixed a problem on first installation where you could get a
"This resource is invalid" error message after naming your
- In User Profiles, first name and last name are now required.
- A few information dialogs had both an OK and
Cancel button. Removed the unnecessary Cancel
- Various minor improvements to the Content Manager UI layout and
- Fixed various localization issues.
- Various improvements to the 2.0 Web Services APIs, including:
- Corrected annotation of various API services that should
have been POST, or GET.
- New features and methods corresponding to new
capabilities in the user-interface.
- Improved documentation, including for the
- Various cleanups and improved error handling in the
Messages web services.
- Fixed the return type of
- Improved docs on setting Player metadata.
- downloadThreads and unusedFileCache fields
are no longer required when updating a Player.
- Fixed a bug where video files would not play to the end in certain situations.
- The Web Clip element now supports multi-touch.
- Multiple Web Clip elements at the same time is now
- The Web Clip element now supports playback of H.264 video
within the web page.
- The Web Clip element now supports HTML drop-down menus /
- The Web Clip element now has a Scrollbars()
- The Web Clip element now has an Interactive()
option, that governs whether the Web Clip receives input
and has a mouse-pointer.
- The Web Clip element now supports web pages with
alpha-transparency, through the new
CMode(opaque|transparent) option that controls the
- Improved visual performance of Web Clip content.
- The Text element and TextCrawl element now support inline
images. (Currently supported with the standard text-engine,
not yet supported with the Complex Writing Systems engine.)
- For Text Crawl elements, now support a separator
image that gets added between crawl-segments.
- The Box element now supports various corner styles
(normal, rounded, angled, scooped, or notched), making
it possible to have rounded rectangles and other useful
- ScalaScript variable names may now contain Unicode
characters. Since variable names are used as the field-names
when creating Scala templates, that helps get the template
forms in Content Manager to be in the user's own
- When defining a Text Crawl element, the text source may
now be a variable, which can be an array variable.
- The Frame() command now supports the same If()
parameter that most commands support.
- In ScalaScript, the various string-comparison operators have always
been case-insensitive. This now works case-insensitively for
Unicode strings too (i.e., accented or international characters
are also treated case-insensitively).
- Fixed a problem where certain unusual compression formats in
MOV or MP4 containers were not supported.
- Updated video playback to use FFMPEG version 2.1.1.
- Updated Web Clip playback to use Chromium version 31.1650.
- Playback now uses less memory when hardware-accelerated video is
- The "User-Agent" string used for WebClip can be
customized using the MMOS.INI setting:
- Added a new Python module named scws2 that wraps the
"Version 2.0" REST-based Content Manager Enterprise APIs.
Returns the value of the given Player variable (which
could be a ScalaScript variable or
metadata). (window.ScalaGetMetaDataValue() is a
- window.ScalaDone(): Signals to playback that the
web content is done, and the script or playlist can move
- Fixed a problem in the Data Source module where it would
loop incorrectly when using a Custom Step
- Fixed a problem where streaming of certain 60fps H.264 or MPEG-2
videos could stutter.
- Fixed a problem where certain H.264 streams could temporarily
freeze for a few seconds.
- Fixed a problem where 60fps transport streams could gradually
lose audio/video sync over time.
- Fixed an occasional crash cleaning up a Web Clip.
- Fixed a bug where the Python installer could fail on certain
systems that had spaces in the path of both the installation
folder and the Windows temporary folder,
- Removed an incorrect and unneeded parameter from the
- In some cases, the Caps option could do the wrong thing
for non-English lower-case letters. This is now fixed.
- Fixed a problem in the scws Python module that could
result in a "TypeError: None not callable" error.
- Fixed a bug in certain situations that allowed user to insert an image into a Locked Text Elements.
- Fixed a bug that kept Paste Corner functionality from working in certain conditions.
- Fixed a bug where an error dialog box was shown in certain rare cases when changing the Backdrop Color.
- Designer now supports auto-recovery of unsaved changes. In
Tools > Options, the new Auto Recover tab
lets you specify how often scripts should be checkpointed, and
where. When Designer starts up, if it finds auto-recovery
information for one or more scripts, you will be asked if you
wish to recover those scripts. If you open a script that has
auto-recovery information, you will also be asked what you wish
- You can now insert an image within a text element. Position
the cursor at the desired place, and either right-click and
select Insert Image, use the Edit > Insert
Image pull-down menu option, or select Insert Image
from inside the new Image popup on the Design panel.
Images that are too tall will be resized down to match your
choice of range, which can be the font's caps-height,
caps-height including ascender-space, or cell-height. Images
that are too short will be aligned according to your choice of
top, middle, or bottom with that span. Those range and
alignment choices are also in the Image
- Text Crawl elements also support images within the crawl
text, through the use of Text Style
Tags. Specifically, Here are new text style tags for
images: <imagepath>, <imagevar>,
<imagerange>, and <imagealign>.
- For Text Crawl elements, you can now specify a separator
image that gets added between crawl-segments.
- For Text Crawl elements, the text can now be bound to a
string-array (before, you could only bind to simple string
- The new Web Clip Control panel lets you set whether
a Web Clip is rendered opaque or with transparency,
whether it has scroll bars or not, and whether it is
- Images within text can be bound to data fields.
- When mapping data sources with repeated (array) values, there
are several additional variables you can define and use:
- an additional array can be created which tells you if
the given entry exists. You can choose the variable
name, but it defaults to ".exists" added to the
repeating XML element's name. For example, when mapping
10 records at a time, if only 8 of them exist in the
current loop, then item.exists[n] will be true
for n=0..7 but false for n=8 and n=9.
- Current Count Variable: number of items available
in the current loop iteration.
- Current Loop Variable: The iteration number of
the current loop.
- Total Count Variable: Total number of items
- Current Index Variable: The index of the first
record of the current loop.
- On the Data Source panel, Max Loops is not shown
unless you enable Loop Through Records?. When you do
enable looping, Max Loops now defaults to
- The variable selector dialog now shows the initial value of
each variable, as well as its use count.
- The Script Properties dialog now has a Fonts tab,
listing all the fonts referenced by the script. Any
non-embeddable fonts will be denoted by a lock icon. Any
missing fonts will be denoted by an "x" icon.
- In the Script Properties Data tab, you can now
Clone an existing variable.
- When working with elements that are bound to array variables,
you can now alter the array index of those elements, using the new
Edit > Set Array Index feature. For example, when
working with data feeds, you can copy and paste a set of
elements bound to the first array index, and then in one
operation, increment the array index of the copy.
- The variable picker for Text Entry Fields uses the new
standard variable selector dialog.
- In the Data Source mapper dialog, you can no longer set
Number of Records to zero.
- When binding a Sound file to a variable, the new style of
Bind button is used.
- You can now bind a streaming video page to a data field, by
entering the page and binding its background. You can now bind
a Streaming Video Clip by selecting the clip and binding
- The Transition panel now has Copy Transition and
Paste Transition buttons, allowing you to easily apply
transitions from one element or page to another.
- When sharing variables with a Python script, if the ScalaScript
variable name includes a dot, it will be represented in Python
with an underscore instead.
- The File > Export to HTML Slides feature now defaults
to using PNG files. You can still select JPEG in the dialog
- The various "open recent" and "add recent" menu items are now
placed immediately after the corresponding item that lets you
select a file:
- File > Open Recent is now immediately after File > Open...
- Add > Add Page From Recent Media File is now immediately after
Add Page From Media File...
- Add > Add Recent File is now immediately after Add > File(s)...
- When you mouse over an element, its selection border will now
faintly highlight, to make it clear which element would be
selected when you click.
- Help on ScalaScript commands, functions, variables, and
text-tags is now available from the Help pull-down
- Help on inline text style-tags is now available from the
Help pull-down menu.
- Saved ScalaScripts now use an internal version-number of 1020,
that is they begin with:
This is used to identify the new syntax for template variables,
and to handle older scripts.
- The Backdrop options-popup has a new Link
Padding? option, to link the four padding options
- Fixed a bug where the Add Page From Media File... dialog
would sometimes open with the file-type filtered to only show
- When using Paste Format, outline softness and shadow
softness are now correctly applied.
- When using Paste Format, clip chroma-key range and
feather are now correctly applied.
- When using Paste Format, it now works as expected on
- If you lock a text element, it was still possible to modify it
in several ways (bind it to data, paste text, and others).
This is now fixed.
- Fixed a bug where clicking on variables or functions in the
Variables panel could pop up a syntax-error dialog while
you were still constructing an expression for a variable.
- Fixed a couple of duplicate hotkeys in the Edit pulldown
menu and the element right-mouse menu.
- Fixed a crash that could occur with a hand-written script where
certain integer parameters were bound to real variables.
- Fixed a bug where pasting elements that had no transition would
sometimes give them a Cut transition.
- Fixed a bug where the font name for a button element was not
- Fixed a bug where it was not possible to unbind the x or y
position of an element.
- Fixed a crash that could occur when entering a page containing
text entry buttons.
- Fixed a bug where an options popup could close if you clicked
next to a slider knob.
- In the Data Source mapper, if the preview text had
embedded newlines, it is now displayed
- Fixed a bug where locked elements were no longer being rendered
with the lock-symbol.
- If you use <Shift>+<Enter> to break a text
element, the borders of both new elements were supposed to
flash, but only one was. This is now fixed.
- Fixed a bug where setting an expression on an element in the
Page view would be lost if you closed the Variables
panel without first hitting <Enter>.
- Updated the included version of OpenSSL to one that fixes the "Heartbleed" vulnerability. However, as a pure web client, the Android Player was not vulnerable to malicious connection attempts from an attacker.
- Android Players now correctly clean up non-Unicode content.
- Fixed a bug in the cleanup routine which caused file(s) to be deleted if their filename contained Unicode characters (if they were still being played).
- Optimized Player logging and database activity for better long
term behavior on Flash-memory devices. Note: Use of
Diagnostic level logging can produce very large logs, and
therefore should only be used during active
debugging. (Otherwise, free storage on the player, and
Flash-memory wear, could become a problem.)
- Log files and related files are now kept on the device's
internal storage instead of any SD card (helps with
- If you schedule a Message to an Android Player, it will display
as a sequence of still-images.
- The Android Player now includes a watchdog that monitors
various components of playback and communication, and will
restart the media player if any of those components appear to
- Reworked the Player Configuration screens to be more usable
and generally better.
- The Player Configuration now has options to enable the player
watchdog, and set the billing logs queue size and the status
logs queue size.
- Cookies are now persisted by the HTML environment of the
- In the event of a Player crash, the error report now includes a
more complete stack trace, which can help Scala debug certain
types of issue.
- On the IAdea Android Media Players, the auto-start and nightly
reboot is controlled by the Android system properties, rather
than by the Player application.
- Improved the recording of version/build information into the
Player log and the status reports to Content
- When Android Players process maintenance jobs, the Retry
Until date is now supported.
- Reimplemented how Android Players store local data, for
- The APK update on IAdea Players now handles low disk space
- Fixed a problem where players could stop sending
- Fixed a potential hang that could occur if network connectivity
was lost just after starting to download a piece of
- Fixed how the Player boot time is reported to Content Manager, so
that Content Manager will correctly display it.
- Fixed the behavior of the HTML <select> element on
Android 2.x devices.
- Fixed how the Player reports its build date, so that
information is correctly displayed in Content
- Fixed a problem where cleanup might not occur on the Player's
- Improved support from Samsung SSP player when heartbeat setting is under 1 minute.
- Samsung SSP Player Plan Status will attempt to resend if the prior attempt fails.
- The Samsung Player can now connect to Content Manager via
- If you schedule a Message to a Samsung Player, it will display
as a sequence of still-images.
- During the download of a new plan and its content, the Samsung
Player will now continue to show the previously-received
- Added support for framesets with multiple frames. This feature
requires that your Samsung players have the Scala Samsung
SSP HTML Enhanced Player license — please contact
Scala for more information. Note that the are several hardware
- Video may only play in one frame at a time.
- In case of overlapping frames, the video will be
underneath other rendering.
- The frame rate for any video file should be half the
display's refresh rate, to avoid a flicker / repainting
at the beginning and end of the video.
- Added support for reporting various problems back to Content
- The Samsung Player now logs activity, and sends those logs to
Content Manager, where they may be viewed.
- Added support for several transitions, including Wipe,
Center, Curtain, and Corner.
- Optimized the checking for new plans, in the case where the
plan is unchanged.
- Improved plan-status reporting so that it's easier to see in
Content Manager that the Samsung Player is
- When the Samsung Player cleans up unused files, it now also
cleans up empty folders inside the Content area.
- If you schedule an HTML widget to play on the Samsung Player
(which is not supported), it now reports a problem back to
- The Samsung Player now checks for available free storage before
downloading new content. (This feature may require updating the
firmware on the Samsung display.)
- The Player heartbeat rate and Plan Polling interval set in
Content Manager are now respected on the Samsung Player.
Before they were always one minute.
- Better recovery in case the Samsung Player encounters a
malformed plan file.
- Fixed a rare stuck-problem that could occur if
Content Manager is not reachable at the time the Samsung
Player is turned on.
- In the case where the Samsung Player is downloading content but
the network connection is lost, the Player was not always
showing the red spinner, as it should have. This is now
- Fixed a problem where the Samsung Player would skip
sub-playlists that contained only a single media