KVS turns 10 years! 10 years ago in February 2009 we announced our first public release. Since that time we released almost 60 new versions and added almost 1000 new features. Happy anniversary and keep going!
What's new in:
- PHP 7 support implemented. This brought huge amount of changes in KVS code and now most of custom PHP changes will probably stop working and will require adjustments. This won't affect any theme customizations done in templates if they do not change any PHP code in KVS. Use audit plugin to find list of custom PHP files and custom changes in KVS system files: these are located by running installation and security checks.
- We fully re-wrote billings API and all payment processors currently integrated into KVS. Now adding a new payment processor will be a simple coding task that doesn't require knowledge of KVS data structure. All existing payment processors, where supported at billing level, were updated with trial feature. KVS supports trials in multiple ways: trial users may have premium access or they may have standard access with some predefined number of tokens assigned to their profiles. This lets configuring different access levels for trial and non-trial members; and tokens are useful in configuring limits on the number of accessible content (e.g. trial users may only be allowed to watch max 5 videos that should be unlocked with tokens).
- All categorization objects will now have status field and ability to deactivate them. Deactivated objects will not be displayed in lists, but will be accessible via direct URLs. Also in satellites it will now be possible to individually configure which categorization is visible on which particular satellite.
- In content settings we introduced brand new categorization settings section with a set of tag creation rules. Tags in comparison to other categorization objects are truly dynamic, they are auto-created from various sources such as import, grabbers and even by site users when tagging content. Now you have ability to control tag auto-creation process. For example you can disallow too short or too long tags, tags that are common language words such as "and" and "or", tags with specific symbols. These rules will affect all data flows where tags are auto-created, except tag editor in admin panel. In tag editor you will still be able to manually create any tags you want.
- Albums now support PNG and GIF files, including animated GIFs. The support we added here is only partial: thumbs of any uploaded images will still have JPG format (animated GIFs will have their first frame as thumb). But anyway it will allow watching the originally uploaded image in the original format.
- Big changes came to search queries in KVS. In new version we optimized storage structure for them, so that their display performance increased more than 10x for big databases. In addition to that we also added support for admins to manually create / import search queries for SEO coverage.
- Advertising adblock protection was added in cooperation with Clickaine advertising company. This functionality is designed to reduce the chance of blocking ads on your site and increase your tube revenue. We will continue looking at what Google and other browsers do in terms of adblocking. As you may know, Google is going to bundle their own adblocking software into Chrome in July 2019, which may affect advertising market. Starting with KVS 5.0 we will investigate this in more details to protect KVS users from these upcoming changes.
- In video and album lists in admin panel you can now choose displayable columns right there - previously it was configurable via personal settings. In general, column selectors were added to many other lists in admin panel, but still not everywhere. We will continue finalizing them in the upcoming updates, only few left. In all lists where applicable we added support for enabling thumb column display, plus you can now enable any file columns as well. Finally in 5.0 we added support for column reordering, so you can now customize comfortable list display configuration almost everywhere in admin panel.
- We added support for users to earn tokens for referring other users to register at your site. In order to enable this functionality you should go to memberzone settings and configure affiliate parameter there and the number of tokens to grant for a referring free signup. Then you should render referral link in user's profile using this parameter name and user's ID; this link will be used by users to send new users to your site. It is possible to earn tokens from paid registration as well, but only when they use access codes. In this case you should configure tokens award when creating access codes, because different access codes may have different amount.
- Remote file check was enhanced to support HTTP/2 server responses.
- Models will now support grouping similar to categories.
- Passwords for users and administrators will now be stored in more secure way. It will also be possible to customize passwords hashing method, which will now allow seamless migration of users from other scripts where other password hashing method is being used. For better security it is recommended to change your superadmin password after updating to 5.0 in personal settings. You can use the same password as before.
- Plugins that are based on schedule (template cache cleanup, avatar generation, backup) can now be configured to run at specific time interval. This is useful if you have multiple KVS projects installed on the same server and want to make sure that resourceful operations are run at different time.
- We enhanced the way how stop words work in KVS. Previously stop words that did not contain star symbol (*) worked incorrectly. For example if you had a "word" and "[del]" as a replacement, KVS would replace "wording" with "[del]ing", which didn't look good. Now such words will only be considered as whole words, and if you want to have a partial match, you should use star symbol, e.g. "word*". This will affect both "word" and "wording". In addition to that you can now configure you own regex replacement rules that will affect all content submitted by users.
- Admin panel will now have better performance on huge databases. If on some lists you experience slow list generation, you can simply disable (hide) some aggregation columns for better list performance.
- All categorization editors in admin panel will now support Save & edit next flow similar to what we previously had for content editors.
- Admin users and groups, and also site users, will now support text descriptions in their editors.
- In backup plugin we changed the way how player settings get stored. Previously player settings were stored together with site templates and there was a separate option to backup embed player settings. In 5.0 we decided to merge them into a separate backup option that will backup both player and embed player settings, plus VAST profiles.
- Handling of proxy settings in grabbers plugin was enhanced. They will now be used both in youtube-dl and cURL requests. Also in settings of individual grabbers it will be possible to configure login details that should be used to access protected content.
- Grabbers will now support additional terminology filter that allows skipping content with specific words in title.
- Countries in admin panel were grouped by continents for your convenience.
- We changed the way how xxx_view and xxx_comments blocks are cached for members. This should result in reducing the number of trash cache files and in general reduce the number of cache files without significant performance impact.
- All website blocks were grouped by category and block type. All block parameters were grouped by their logic and interconnections. 45 of 60 blocks were updated with new default templates and new documentation. New default templates are designed to render all possible data fields / actions and should work right a way with the default theme JS file. You just need to add some styling and layout to make them look good in your theme style.
- When configuring advanced content filtering on satellites, KVS will not only hide the filtered content from lists, but will also return 404 via direct URL for such content. Advanced filtering is used on satellites to limit set of content available there using the customized query logic.
- Members can now create posts with the help of new post_edit block.
- In comment blocks it is now possible to sort comments by their rating. You can now render top rated comment for any content with adding additional comment block to the page and configuring it with items_per_page=1 and sort_by=rating.
- Members can now log in not only with their usernames, but with emails as well.
- In search_results block it is now possible to configure similarity criteria when displaying similar queries using search_method parameter: it can be by fulltext index, by full match or by partial match.
- In video_view and album_view blocks we changed the way how watching limit works (limit max N videos during M seconds). Previously it was based on cookies and was good at performance, but at the same time allowed users to reset their cookies and reset limit. We switched this limit calculation to be IP-based. If you have it enabled, you may experience database load increase after the update.
Bugs that have been fixed:
- When creating or deleting timeline screenshot formats, KVS would iterate over all videos, even if only few had timelines enabled. This would result in slow task processing for big databases.
- When restarting failed conversion tasks for new videos or albums, KVS would leave junk files on some storage servers in some rare cases.
- Player fullscreen not always worked correctly on iPads with the new iOS version (this fix was previously announced via forum as a hotfix for player after 4.0.4).
- Category and model selectors in admin panel worked incorrectly when copy-pasting combined list of items, and also would sometimes result in creating similar categories or models with different lower / upper case.
- Player was fixed to avoid showing VAST pre-roll in mobile UC Browser, since this browser does not follow HTML5 standards and thus doesn't allow showing skip button correctly. Currently all other players also have this issue; we may come with another solution in future.
UC Browser VAST issue all over the world and player hotfix for 4.0.3 and 4.0.4:
Currently there is a global issue with rendering video pre-roll advertising (VAST) on mobile devices in UC Browser. This issue is due to UC Browser incorrect behavior when displaying HTML5 videos. According to advertisers requirements we fixed this in KVS player by disabling VAST advertising display on mobile dev ices in UC Browser. This fix came to KVS 5.0.0, and we also provided a hotfix for player for KVS 4.0.3 and 4.0.3 versions. You can find more details on KVS forum.