(2015-08-28, 04:00)Ned Scott Wrote: (2015-08-27, 21:27)jjd-uk Wrote: From what I understand those rules are there for the very good reason that add-ons in the official repo should not be capable of corrupting the core databases hence JSON RPC must be used.
I'm skeptical that there was any evidence or actual risk of this happening. It's more likely that it was summarily dismissed. I have a lot of respect for our guys who handle repo submissions, but this wouldn't be the first time something was waved off without any real review, and attempts to appeal the decision are flat out rejected with even less review (as if it was a personal insult to ask for an exception).
Maybe that wasn't the case for Emby, but it feels like a lot of add-ons get needlessly rejected for overly rigid rules. I recall at least one example where an add-on was rejected for only reading the database, which holds no risk of corrupting the database. Yes, JSON-RPC should be used and expanded as needed, but people are left with nothing while waiting for that expansion.
(2015-08-27, 21:57)Razze Wrote: Also, if you don't obey your own rules, then there probably is a real problem ahead
Exceptions to rules are supposed to be made on a case by case basis. This is actually something Team Kodi has discussed in the past. The reason for a rule might not always apply to some situations, so reasonable and limited exceptions can and should apply. There's no problem with the occasional exception. We still control our own repository, so it won't suddenly allow everyone to break the rules. These rules are not morals, either. It's not like we'll lead by bad example, since the add-ons still exist. The Emby add-on is still available for download, it still works the same way, it just requires more hoops to jump through for the user to install it. I don't see how that serves anyone.
I would think the main problem with direct access is that version bumps and changes in the internal tables, will likely cause big breakages if not even a unuseable database.
For e.g.:
Addon X is reading the id field.
We change the id field to not only holding one id but potentially X ids, wrapping the ids in XML or json or whatever.
Addon X does not compute.
Addon X is writing the id field.
We change the id field to not only holding one id but potentially X ids, wrapping the ids in XML or json or whatever.
Addon X writes one id back to the field without XML or json around it.
Kodi can't read this set of data anymore, might also crash due to a bad conversion.
Only way to recover from this scenario might be to access the database and fix this value by hand. So every casual user would be lost.
In both cases, the JSON RPC interface wouldn't have changed, so it would not be a problem.
I thought the offical repo is trying to protect users, like you guys said in one of the last kordcutters I think and letting devs break this rule, is the absolute opposite.