Technical work
In this release, we revive reworked section «Technical work » in Smarty.


This section helps to correctly handle accidents that occur on streaming services:
- exclude from the user interface archival records of transmissions during which the channel was working or there was an accident
- give the player a link to the stream-stub in case of unavailability of the channel or stream service
How it works:
- For example, it is known in advance that technical work will be carried out on one of the stream services and channels from it will be inaccessible. In this case, in advance or at the time of these works in the adminka you can create an object «Technical works»
- Fill in their duration or leave unfilled if it is an accident and it is not known when it will end (at the end of the accident you can edit the created object and set the end time)
- A dedicated team in Smarty will mark up content that is inaccessible to subscribers and instead of a black screen in the player or artifacts, they will see a stream-stub or turn off the ability to launch an archive record. Details in documentation.

Video library and external cinemas
- The team cleaning duplicate genres
clean_duplicated_genresnew option addedonly_enablednot to remove hidden genres during cleaning. - Corrections made to the team cleaning excess actors
remove_invalid_actors. - Fixed a number of errors in the work third-party TMDB — corrected parsing of serial meta, and also added the filling of the advertising banner of the film.
- For the new archival video library mode, the separation of the film and the series with the same name has been fixed (if there is a film and a series with the same titles in the archive, then they are now correctly divided into different titles).
Common for external cinemas
- Globally redesigned team
check_video_subscriptionsAll possible discrepancies in the number of subscriptions created on the side of Smarty and external theaters should be resolved. - Various types of accidents on the side of external cinemas — problems with poster loading, temporary inaccessibility of all cinema resources and the like are handled.
- In all teams synchronization of films from external theaters added parameter
-client_idsfor the possibility of isolated import launch on multi-provider instances Smarty.
STARTART
- In the admin on the subscriber's page, it became possible to point-to-point close subscriptions in the external START billing.
- Adjusted team performance
cinema_start_resync_subscriptions— now the team correctly closes and opens subscriptions on both sides of the integration. There's also a new option-customer_ids_fromand-customer_ids_fileto check subscriptions from a specific list of subscribers. - Imports of similar videos have been added for START films, but are not yet used in interfaces.
- The missing parameters were added to the START requests for correct playback of all types of movies and TV series.
Premiere
- For the Premier cinema, rewiring of the downloaded meta is disabled when synchronizing the catalog of films and TV series.
Viju
- In the admin on the subscriber's page, it became possible to point-to-point close subscriptions in the external billing Viju.
- The integration with the Viju cinema has been improved.
Optimization of graphics storage
We carried out a large refactoring of the internal structure of storage of graphics — posters of programs, graphics of films and TV series for video library and channel icons. What\'s changed:
- the transmission import command now stores no more than 1 poster of each available format (4:3, 16:9, 2:3, etc.);
- changed folder structure inside the media directory for all listed graphics, which will reduce file indexing time when installing the update;
- added signals to delete image files when removing associated objects in Smarty.
Mass distribution
- In the form of mass mailing, the field of excluded tariffs was added, as well as the ability to send messages to inactive accounts:

- On the page «Messages and commands» added filters by message type and account, column values «Account» made clickable, and added a new column «Message read»

- New service team added
restore_messagesThis allows you to send unsent messages in case of failure of Redis.
New configuration options
DEFAULT_CHEQUE_EMAIL— allows you to specify default mail for sending checks on payments in case of its absence from the subscriber.FEEDS_EXPIRE_TIME— specifies the time period (in minutes) after which the feed for Samsung Tizen TV will be considered expired.
TVMW API
- In method
CustomerInfoSetcorrect the default value for the fieldconfirmation_method#careful compatibility - New method added
LoginCustomerList. - In response to methods
CustomerDeviceListandLoginfieldedbrandanddevice. - In response to methods
Login,AccountRegisterandCustomerInfoSetadd a confirmed phone number when you call the method again. - In method
AccountStatusflagwith_tariffsthe activity of which the list is returnedidconnected tariffs at the subscriber. - New method added
NoAuthportalDashboardList. - In response to methods
NoAuthportalDashboardVideoList,PortalDashboard VideoList,VideoListandNo AuthVideoListfieldedad_banner,horizontal_posterandlogo. - New method added
NoAuthVideoEpisodeList. - In the method response
VideoDetailfieldactionsnow sorted by seasons and episodes, and added fieldsepisode_sortandseason_sort. - New method added
VideoSimilar. - Methods
SelectionDetailandNoAuthSelectionDetailfieldedlogoandhorizontal_posterfor video objects, fieldsscreenshot_b_bandpackagestrippedcompactmode of operation#careful compatibility - Optimized operation of the method
SelectionList. - In method
NoAuthSelectionDetailadded a new request parameterportal_dashboard_id. - New method added
NoAuthActorDetail. - New method added
NoAuthProviderList. - In response to method
Paymentlistfor each element addedidtransactions. - New method added
PaymentGetChequeto get a link to the payment check. - In response to method
PaymentQRCodeoutputtransaction. - In return
PaymentSavedCardListfieldfor_autopayment. - Fixed the error of displaying hidden tariffs in the method
NoAuthPortalClientTariffList— previously this method returned all rates with a non-zero period, regardless of the property «Hidden». - In response to method
ChannelListV2fieldis_parent_control.
Content API
- In methods
VideoModifyandVideoCreateadjusted work loading images, in response added fieldupload_errorsIf there are errors when saving images. In addition, new query parameters appeared in the methodssimilarly,similarlyandsimilar_removeto fill out a list of similar movies in the video. - New methods added
SelectionCreateandSelectionModifyto create content collections.
Adminka
- On the device type settings page added new fields for banner customization main screen in the Sibseti template.


- A new mode of operation of subscriber sections, accounts and devices inside the admin is added, in which when you open the listed sections, not lists are shown, but only filters for them:

This mode will be especially relevant for operators with a large subscriber base, whose lists are loaded with an impressive amount of time. You can turn it on TVMW_SHOW_CONTENT_ALWAYS.
- To configure the rights of users of adminka added a new right «View Traceback» allowing you to view the tracks arising in the adminka (previously such a right was only in the role «Superuser»)

- On the page «Devices» added new columns «Model» and «Brand».

- A filter by video provider has been added to the compilation form:

- A new field «Screen» has been added to the dashboard creation page, with which in the future it will be possible to create dashboards in the interfaces not only for the main screen, but also auxiliary lists of tapes on the Search, Video Library and others screens.
Other
- For the mask of the VAST-provider URL, the list of parameters that can be specified for transmission to the advertising provider has been expanded.

- New team added
aggregate_ads_statsto optimize the formation of an advertising report. #careful compatibilityon the side of Smarty was removed caching methodsActorDetailandNoAuthActorDetail— we recommend adding additional caching of these methods on the Nginx side.- The process of cleaning sessions for accounts — has been optimized; now the system does not hang when deleting several hundred sessions on multilogin accounts.
- Refined option
TVMW_USE_PHONE_NUMBER_IN_ABONEMENT— now, when this option is enabled, the subscription number in the admin will also be generated based on the mobile phone number specified by the subscriber. - Fixed authorization behavior when trying to log in
device_uidtied to another account. - Fixed an error that occurs on multi-provider instances Smarty — now the e-mail field of the subscriber should be unique only within the Client, and not within the entire platform.
- A server architecture has been prepared for interaction with external DRM systems on the example of the EzDRM provider.