05 June, 2023
Whats new in KVS 6.1.0
Huge set of changes were made around the new admin panel. We received some negative feedback from old users, and decided to provide some additional options to partly restore old admin panel look and feel:
- Reminder what was already possible in 6.0.1: switching off icons in menus, resizing and moving all popups with memory function, adding custom CSS into your admin account - all these in Settings -> Personal settings. Please note that custom CSS can not only be used to set fonts and colors, but also to hide parts of GUI that you don't need. For instance, each editor has "data-editor-name" HTML attribute and each field row has "data-field-name" attribute. Using these and custom CSS you can now hide portions of editor that you never use.
- Scrolling mode option was added into Personal settings. This option will let you switch to old KVS scrolling, when there were no fixed header and footer and the whole page was scrollable.
- A new option to customize editor opening mode was added into Personal settings as well. It will let you change to 2 new modes of editor display: in popups within the same page, and in new tabs. These both new ways will not render header and side menu, so they can be useful for small displays.
- Additionally added an option to force popup closing when clicking anywhere on empty space outside popup, similar to how it happened in old admin GUI.
- Some changes in grid filter GUI: we increased the size of search control, and added Apply button next to set of active filters, as it was before. Also, all search fields are enabled by default now.
- You can now use "down" keyboard key in advanced selector controls to display the full list of available items as a drop down, similar to native select controls.
- Each popup where applicable now provides link to download and open popup contents in a new browser tab.
- Restored back the default auto-focus to the first field in editors.
- Calendar control now allows choosing dates using keyboard only.
- Grids will display thumbs in multicolumn grid format if you choose only thumb column in column chooser. This can be used to review big sets of thumbs.
Video watermarking feature was hardened to prevent easy watermark erasing:
- Added ability to specify max offset in pixels or % of video size to have watermark being displaced randomly on X and Y axis.
- Added support for switching corner position of the fixed watermark, which will make it randomly displayed in different corners for the N number of times that you define).
- For scrolling watermarks, added support to randomize scrolling times using special syntax.
A list of search-related SEO / DMCA features added:
- Search queries now support status, so that you can deactivate any query. The reason for doing this is to prevent this query from displaying in any pages that list search queries (typically used for SEO purposes). Previously you could only delete queries that you didn't want to be visible, but they could appear again.
- In Stats settings you can now configure that all new queries are added in inactive status. You can use this option if you want to manually approve queries that you want to expose on your site.
- Everywhere in blocks where text search is supported, it is now possible to customize block behavior when user is trying to search something that matches inactive query in your database, or something that contains a blocked word. In both cases you can use block parameters to force 404 error in response, or make a redirect to some other URL. This looks to be required with recent DMCA restrictions, when agents demand URLs that contain some copyright owner in it to return 404 errors (probably to remove these URLs from Google index), even if no relevance results are found.
- Finally, it will now be possible to better control caching of search result pages. Previously KVS would cache results for only single-word queries to avoid cache system overflow. Now we added a search_caching_words block parameter so that you can allow 2-word queries, or even 3-word queries to be cached as well.
- Notification emailing feature was added into Personal settings of every admin. You can now configure your email and choose which notifications you want to receive (the set of available notifications depends on your admin permissions and full list is only available for superadmins). In additional to notifications it will also be possible to email feedbacks from users - either all of them, or only with the given list of whitelisted words.
- Added support for Amazon S3 and S3-compatible storage systems in storage servers. In addition to that, we also added "No public access" option into streaming type field for the cases when you want to use storage server for backup copy only (having multiple storage servers in the same group).
- In screenshot formats it will now be legal to delete JPG formats and keep only WebP formats, as their device support is finally reaching 98%. Player settings will now only support a single format for timeline screenshots, and KVS update should automatically switch it to WebP. Therefore we recommend deleting JPG format from the list of TIMELINE (!) screenshot formats after the update. For overview screenshot formats we decided to keep both JPG and WebP by default in our default theme, but in theme settings you will now be able to select WebP formats in all options where previously only JPG formats were possible (primary thumb format option). Thus you can opt to completely get rid of JPG formats in videos (unfortunately not in other places for now, but this is coming). We will also be looking into AVIF future format, as it now hits 80%+ adoption.
- Enhanced mass editing admin panel security. Previously mass editing was automatically possible for admins with "edit all data" permission. Now there will be a separate permission for mass editing that should to be manually set for every admin who needs this feature (this also includes editing via import GUI). Also mass editing GUI will allow changing only data that is allowed by other editing permissions. This would ensure that limited administrators will not be able to harm your data beyond their specific responsibilities. And additionally we added specific permission for changing content administrator ownership, which was previously possible only for superadmins.
- Enhanced content deletion security. Now you can configure the maximum daily limit of deleted content for each limited administrator (30 would be set by default after the update). This change will make sure your admins cannot accidentally or maliciously delete your content. Superadmins will not have this limit, but there will be an additional hard limit of max 1000 content objects (videos and / or albums) that background task processor can delete per day. If needed, it can be adjusted via setup.php configuration file.
- KVS can now generate users randomly picking from 8 mln open-source username database. Such users will get new "Generated" status to separate them from real users. This can be enabled anywhere content import is possible, to emulate content being uploaded from real users. For existing KVS projects you can use mass edit GUI to re-assign videos to newly generate users. There was also an option added in Memberzone settings allowing to customize how often KVS should "reuse" already generated user VS creating new ones. This will emulate some generated users add more videos than one.
- Speed control added to player, switched off by default, can be enabled in Player settings.
- Theme installation wizard introduced. It can be used to replace default theme with any other theme provided by 3rd-party or copied from your other project via KVS backup plugin. Themes usually have dependencies on thumb sizes they were designed for, so wizard will not only replace theme, but will also check dependencies and proposes you to auto-create the needed thumb formats, or change other image options as required by the new theme.
- Theme history will now record changes in block parameters. Any deleted files, previously recorded into theme history, will also trigger change event when deleted.
- Content import presets now support blacklists that will allow skipping import of specific lines that contain any of the blacklisted words.
- Neuroscore plugin will now support re-writing titles from old titles, categories and model names. Moreover, it will now be able to auto-detect models and categories from video screenshots automatically. These features are still under integration testing and we will fully activate them in final update only.
- Template cache cleanup plugin would now do more intelligent cache cleanup, and also would be capable of displaying more advanced cache stats, helpful to analyze cache overload. Previously increasing cache time for a single block would result in huge amount of junk cache files, but with the recent change it will not be a problem anymore.
- In DigiRegs plugin you can now choose to only apply DigiRegs check for videos that do not have content source information.
- Model auto-selection plugin will consider username, channel and content source to auto-assign models, this will increase plugin success rate with content from grabbers.
- In grabbers plugin when activating auto-pilot for individual grabbers, you can now specify the time range when you want specific grabber to be executed. Previously it was only possible to specify the interval between subsequent executions.
- Backup plugin now supports duplicating backup archives to some FTP.
- Mass edit will now support creating new playlists on the fly.
- Exporting feeds will allow configuring only export of specific video content types (e.g. only embedded, or uploaded videos).
- Logic that hashes uploaded files and searches for duplicates was optimized to hash only part of file that typically contains header information and keyframes. This however will not affect everyone after the update. If you want to apply this fix, you will need to add $config['optimize_file_hashing']="true"; line (with semicolon at the end) to /admin/include/setup.php, however after enabling this - all existing videos will stop participating in duplicate checks, and could potentially be uploaded again. This method will be enabled by default for new installations.
- Better security for user accounts and emails. KVS will now allow only a single user session, so that if another session is logged in under the same account, any other sessions will be automatically logged off. Signup and password restore procedures will stop exposing if the provided email is already being used in KVS or not (email duplicate check). Therefore it will not be possible to tell if any specific email is registered or not. Also, KVS will make sure that user with the same email can create new account via payment processor once again. This may happen when a paid user cancels their rebilling cycle and then wants to buy access one more time. Previously KVS would require not only unique username, but email as well.
- In video_view and album_view blocks we added limit_ignore_seo_bots parameter that can be used to switch off content viewing limit for SEO bots (user agents). Content viewing limit is another setting in the mentioned blocks, limiting the number of content that can be accessed by a user with a single IP during specific period of time. This limit is typically used to enable users signing up to access more content, but may also negatively affect SEO bots indexing.
- In list_videos, list_albums and list_content blocks we introduced limit_access_level parameter, that can be used to show content available to the current user based on global and individual content access level settings. Besides that we added access_level_id parameter to show content with specific access level.
- Video file protection will now automatically whitelist all Googlebot / Bingbot IPs using the provided list of known IPs. Previously KVS only used reverse DNS lookup to whitelist Googlebot requests, but it was reported that this function not always working. In addition to that, we added support for CIDR mask notation in IP whitelist field of video protection settings.
Bugs that have been fixed:
- [MEDIUM] KVS player didn't initialize preload on Android devices.
- [LOW] Stats were not correctly counted on subdomains other than www.
- [LOW] Player VAST didn't support 00:00:00 skip offset to show skip button immediately.
- [LOW] In some cases search stats would contain zero found results.
- [LOW] Exporting feeds were not returning empty results when passing inexisting category, or any other categorization filter in parameters.
- [LOW] Various small bugfixes in the new admin panel.