Jump to content

KVS 5.0.1 update

Tech Support

Recommended Posts

Update status

5.0.1 update status is FINAL. You can download update in KVS client zone for all your licenses:



Update requirements and limitations


You should not update PHP to v7 before KVS update. KVS 5.0.1 is designed to support both PHP5 and PHP7 at the same time. You should first update KVS to 5.0.1, only after that it will be possible to update PHP to 7.1+ as described in later sections.

Due to migration to PHP7 there are 3 additional requirements and limitations for this update, which may not be fulfilled in your case:

  • Your PHP should be built with support for MySQL Improved Extension (mysqli) module. This is true in 95% cases, but some installations may not have it.
  • If your project doesn't have open source code option, your Ioncube version should be 10.2+. This is also true for all external conversion servers; they will stop working if Ioncube is not updated.
  • If your project has custom KVS blocks, they will stop working immediately after the update. Custom blocks should be either removed from your design, or their code should be adjusted to support PHP7 before the update. Please check with developers that created custom blocks for you.

These 3 requirements will be checked when you upload update ZIP into KVS update plugin, the plugin will fail if either of these is not fulfilled. If you project has custom blocks, KVS update plugin will show a warning.

Please also note that any custom PHP code, or custom PHP changes in KVS code may stop working after KVS 5 update or after you migrate your project to PHP 7 if this code is not compatible with PHP 7. KVS team will take no responsibility for any custom PHP code not working after the update.


Update procedure

Any project starting from 3.0.0 can be updated to 5.0.1 with one only procedure. Depending on your current KVS version, update procedure may contain additional steps for older versions.

You must use KVS update plugin in order to update your project. For update you will need:

  • KVS update ZIP archive for your project and its hash code for update plugin (contact support in beta phase to get these).
  • FTP connection to your project so that you can upload files.

Update procedure has the following steps:

  • Create backup using Backup plugin.
  • Upload update ZIP into KVS update plugin and specify hash code.
  • KVS update plugin will notify you if there are any custom changes in KVS system files, which will be overridden by update (player skins are not checked here, so they will be silently updated if have custom changes).
  • KVS update plugin will update database automatically.
  • You will need to copy files from the archive on top of your project using FTP or filesystem copy. Please make sure you are NOT USING sync functionality in your FTP client, which will delete many files on your server, because obviously update archive contains only part of all files. What you need is just to drag and drop files from update archive on top of your project root folder and confirm their re-writing (excluding _INSTALL folder, it doen't need to be copied).
  • You will need to remove some code from /admin/include/setup_db.php (see details below).
  • KVS update plugin will verify the updated files and finalize update procedure.
  • You can use System audit plugin to verify everything looks good.


Additional step to clean up setup_db.php

As a part of 5.0 update procedure you will need to modify /admin/include/setup_db.php file as described in KVS update plugin. You will need to delete all code that exists after 4 define() directives.

Here is a screenshot of how this file may look in your old KVS installation:


Here is what should be left:



Migrating to PHP 7 after KVS 5 update

PHP 7.0 is not supported! Only PHP 7.1 - 7.4 are officially supported. Please take a look at updated KVS server requirements page.

When updating to PHP 7 you should basically do the following 3 steps:

  • Change Apache or Nginx configuration to use PHP 7.1+ for KVS project.
  • In /admin/include/setup.php modify PHP binary path to use PHP 7.1+ binary.
  • In Plugins -> System Audit run installation check.

Before altering project configuration please make sure that your PHP 7.1+ has all the needed and recommended modules described in KVS server requirements.

NOTE: to prevent your site from stopping due to invalid PHP version / configuration, it is recommended as the first step to modify PHP binary path to use PHP 7 and then run installation check in System Audit plugin. If audit results look good, you can switch Apache / Nginx to use new PHP for this project.


Whats new in KVS 5.0.1

No new features, pure bugfixing release.

1) Bugs that have been fixed:

  • Empty line in the end of import data forced import validation step to hang.
  • Channel groups could not be created in admin panel.
  • Admin password change worked incorrectly in satellites.
  • Import feeds incorrectly processed some video galleries.


What's new in KVS 5.0.0

This version was initially planned as 4.1, however due to migration to PHP7 it resulted in so many changes and incompatibilities, that we decided to change it to 5.0 and start new branch cycle.

1) 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.

2) 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).

3) 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.

4) 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.

5) 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.

6) 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.

7) 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.

8) 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.

9) 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.

10) Remote file check was enhanced to support HTTP/2 server responses.

11) Models will now support grouping similar to categories.

12) 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.

13) 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.

14) 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.

15) 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.

16) All categorization editors in admin panel will now support Save & edit next flow similar to what we previously had for content editors.

17) Admin users and groups, and also site users, will now support text descriptions in their editors.

18) 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.

19) 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.

20) Grabbers will now support additional terminology filter that allows skipping content with specific words in title.

21) Countries in admin panel were grouped by continents for your convenience.

22) 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.

23) 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.

24) 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.

25) Members can now create posts with the help of new post_edit block.

26) 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.

27) Members can now log in not only with their usernames, but with emails as well.

28) 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.

29) 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.

30) 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.


Link to comment
Share on other sites

Thanks for your good news, but I have two questions.


"Meanwhile KVS 5.0 will only be available for new installations."

Is that mean current KVS sites will not able to upgrade to 5.0? Or just mean we need to install a fresh 5.0, and old data is still able to import?


And your homepage is showing "5.0 version is available" (https://www.kernel-video-sharing.com/images/special/kvs-v5-2.jpg), but actually it don't have a release day yet?

Link to comment
Share on other sites

Please read the first section of the first post. It states that we do not yet have update procedure available due to its complexity. We need some time to develop update procedure that will suit all customers. After we have this, we will announce this via KVS news system. For now please wait until we have this.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hello All,

I just wanted to report that the update went perfectly.

I had some problems but that had to do with an outdated ioncube version

I updated to the newest ioncube version.

I wanted to share this link with others who are running the server under plesk and also need to update




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...