Split bookmark from clientcontrol
The clientControl plugin contains Bookmarking functionality. OFMeet uses bookmarks, but does not use any of the clientControl features.
When using clientControl, administrators have to manually perform an action for users that use Spark to be notified of new versions. When only the bookmarking functionality of clientControl is used, this is an undesirable side effect.
ClientControl and Bookmarking functionality should be split in two distinct plugins.
I tested this scenario. Everything works as expected.
The old clientControl plugin had a database structure, which was used only for bookmarking functionality. Part of the PR is an update of the ClientControl plugin to a new version, which no longer has a database.
The new bookmark plugin now makes use of a database, which is named "clientcontrol" - it's a bit messy, but that ensures that existing content will simply be reused.
Finally, I have made sure that the new bookmark plugin cannot be installed on Openfire when anything but the latest version of the ClientControl plugin is installed. That will make sure that no two plugins are working with the same database at the same time.
So, if i have ClientControl installed and setup some URL and Room bookmarks. I guess they are stored in the personal storage of users, so they should be affected if i remove ClientControl plugin and install Bookmarks plugin.
Well, that is the idea behind the clientControl plugin. Control (which) clients.
The split is there for people who do not want client control (but who do want bookmarks).
And as a system administrator for 10+ years i don't think this is so important as my users don't have permissions to install software on their own (Spark update needs elevated access). And that's how it should be